I have organized a collection of Maven commands that I often use for work.
・ MacOS Sierra -Java version 1.8.0_111 -Apache Maven 3.3.9
Unzip the tar file and add M3_HOME to bash_profile to add it to your PATH.
$ tar xzvf apache-maven-3.3.9-bin.tar
$ vi ~/.bash_profile
bash_profile
export M3_HOME=/Users/local/apache-maven-3.3.9
M3=$M3_HOME/bin
export PATH=$M3:$PATH
Confirmation after installation
$ mvn --version
$ mvn -B archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DgroupId=com.myapp \
-DartifactId=myapp
Or you can create a new project interactively with mvn archetype: generate
.
$ mvn archetype:generate
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 923:
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:
Define value for property 'groupId': : com.myapp
Define value for property 'artifactId': : myapp
Define value for property 'version': 1.0-SNAPSHOT: :
Define value for property 'package': com.myapp: :
Confirm properties configuration:
groupId: com.myapp
artifactId: myapp
version: 1.0-SNAPSHOT
package: com.myapp
Y: :
Do not compile and check the project for errors.
$ mvn validate
Compile the project
$ mvn compile
When specifying the JDK version at compile time or the JVM option, add the following information to pom.xml.
pom.xml
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<arg>-g</arg>
<arg>-Xlint</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
</project>
Run Junit test class
$ mvn test
Run tests only for specific classes.
$ mvn test -Dtest=BlogicTest
Only execute tests for specific classes and specific methods.
$ mvn test -Dtest= BlogicTest#blogicTest1
Use wildcards to batch execute the target test class.
$ mvn test -Dtest=Blogic*Test
Generate artifacts such as JAR and WAR. Executing the package also executes the valiate, compile, test, and package phases.
$ mvn package
Skip the execution of the test code and generate the JAR.
$ mvn package -DskipTests
Skip compiling test code and running tests.
$ mvn package -Dmaven.test.skip
Install the JAR in your local repository.
$ mvn install
Install the third party JAR in your local repository.
mvn install:install-file -Dfile=target/foo.jar -DgroupId=com.foo -DartifactId=foo \
-Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
Skip execution of test code.
$ mvn install -DskipTests
Skip compiling test code and running tests.
$ mvn install -Dmaven.test.skip
Register the package in the remote repository. If you execute deploy, all the previous phases will be executed.
$ mvn deploy
Clean Delete the target directory.
$ mvn clean
It is common to execute it after package and install.
$ mvn clean package
$ mvn clean install
Display the dependencies of the project in a tree.
$ mvn dependency:tree
Display pom file information, including default settings.
$ mvn help:effective-pom
Display information in the configuration file, including default settings.
$ mvn help:effective-settings
Generate build.xml for ant using maven-ant-plugin
.
$ mvn ant:ant
$ tree
.
├── build.xml
├── maven-build.properties
├── maven-build.xml
├── pom.xml
└── src
├── main
│ └── java
│ └── com
│ └── myapp
│ └── App.java
└── test
└── java
└── com
└── myapp
└── AppTest.java
.project
and .classpath
are generated using maven-eclipse-plugin
and can be imported by Eclipse.
$ mvn eclipse:eclipse
Use dependency-maven-plugin
to copy dependent libraries to a specific directory.
$ mvn dependency:copy-dependencies -DoutputDirectory=lib
Create an executable Jar (assembly) from a pre-built project using maven-assembly-plugin
.
$ mvn assembly:assembly -DdescriptorId=bin
Javadoc Generate Javadoc.
$ mvn javadoc:javadoc
Output the source of the dependent library.
$ mvn dependency:sources
Recommended Posts