1. 安装,到maven官网,下载bin类型,解压,放到一个目录下面,将bin路径到添加环境变量PATH,运行mvn -v 验证是否成功;
2.常用命令:
mvn archetype:generate 在交互模式下生成maven工程
mvn site 生成maven文档
mvn compile(mvn compiler:compile)编译
mvn package(UT 且打包)
mvn install 编译工程,并打包
mvn dependency:tree
mvn help:effective-pom 显示所有的pom设置,包括默认设置
mvn help:describe -Dplugin=exec -Dfull 查看插件exec的核心描述,列出所有目标
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 查看compiler插件的compile 目标的详细信息
mvn dependency:resolve 查看工程有哪些依赖
mvn dependency:analyze 从字节码分析maven依赖
java -cp target/simple-1.0-SNAPSHOT.jar org.sonatype.mavenbook.App
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main -Dexec.args="arg0 arg1 arg2"
mvn test -Dmaven.test.failure.ignore=true 通过命令行参数告诉maven如果测试失败,则忽略。
3.其他:
插件表示方式:pluginId:goalId(archetype:generate help:describe compiler:compile)
超级POM路径: %MAVEN_HOME%/lib/maven-model-builder-x.x.x.jar 的org.apache.maven.model.POM-4.0.0.xml
maven本地仓库:~/.m2/repository/
maven远程仓库:http://repo1.maven.org/maven2/ 当需要查找包的版本库时,可以到maven远程仓库查找
maven的变量:env/project/settings
在POM中引用变量:${project. artifactId}
所有的Maven POM从父POM中继承值。如果一个POM没有通过parent元素指定一个直接的父项目,那这个POM就会从超级POM继承值。
5.配置tomcat7
注意,使用maven tomcat6 和tomcat7的配置是不同的。
主要的配置有:
(1).tomcat user配置
以tomcat7为例, 在tomcat-users.xml中加入红色部分
<tomcat-users>
...
<role rolename="manager-gui"/>
<user username="usr" password="pwd" roles="manager-gui"/>
...
</tomcat-users>
(2).maven config 配置,在%MAVEN_HOME%/config/settings.xml中加入红色部分:
<servers>
...
<server>
<id>deploymentRepo</id>
<username>usr</username>
<password>pwd</password>
</server>
...
</servers>
(3).pom.xml配置,加入红色部分。对于tomcat6配置,参见http://blog.youkuaiyun.com/binyao02123202/article/details/17793233
<build>
<finalName>FirstWebApp</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>9090</port>
<path>/</path>
<uriEncoding>UTF-8</uriEncoding>
<finalName>mgr</finalName>
<server>deploymentRepo</server>
<username>usr</username>
<password>pwd</password>
</configuration>
</plugin>
</plugins>
</build>
若是能够自动部署,则应该:在config中加入用户名和密码,蓝色部分
http://www.cnblogs.com/warrior/archive/2012/07/24/2607197.html
使用maven手动管理依赖(管理一个不在maven的repository中的jar)
http://blog.youkuaiyun.com/luckarecs/article/details/7091555
一些有用的配置:
<build> <plugins> <!--use jdk1.8 to compile--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <!--when mvn assemble:single will generate the release jar--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.5.5</version> <configuration> <archive> <manifest> <mainClass>com.amazon.sbr.Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <!--only compile the release jar--> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>