Apache Maven 3.5.2
mvn archetype:generate 创建maven项目,默认使用org.apache.maven.archetypes:maven-archetype-quickstart 来创建。按提示输入相应groupId artifactId即可生成一个标准的maven项目
也可以把提示的输入作为参数一次性输出:
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.3 -DgroupId=com.my.app -DartifactId=my-app -Dversion=1.0.0-SNAPSHOT
maven-archetype-quickstart :生成一个简单的标准maven 工程
maven-archetype-webapp :生成一个简单的标准web工程
mvn -D 表示传参数(properites属性),如跳过运行测试用例 -Dmaven.test.skip -Ddemo.name=real -DdownloadSources=true 下载源码包 -DdownloadJavadocs=true下载javadoc -DinteractiveMode=false 禁用交互模式
-pl 选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔)
-am 表示同时处理选定模块所依赖的模块
-amd 表示同时处理依赖选定模块的模块
-N 表示不递归子模块
-rf 表示从指定模块开始继续处理
-P 表示profile属性 如:-Pproduct
-U 强制让maven检查所有的SNAPSHOT依赖更新,这样保证每次都以最新版本强制更新
-B 表示maven批处理进行构建,不需要进行阻塞等待人工进行干预
-e 如果编译构建过程中出现异常情况,则输出详细的日志信息,便于分析
-X debug模式,打印日志更加详细
例:目录结构
app-parent
|- app-common
|- app-client
进入app-parent目录下执行: mvn clean install -pl app-common,app-client -e
结果信息显示: app-common install成功; app-client install成功。
mvn denpendency:tree 下载依赖,树状显示包的依赖关系
[INFO] com.my.app:my-app-common:jar:1.0.0-SNAPSHOT
[INFO] +- junit:junit:jar:4.11:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.slf4j:jcl-over-slf4j:jar:1.7.25:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] +- org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
[INFO] \- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] \- ch.qos.logback:logback-core:jar:1.2.3:compile
mvn denpendency:list 列表显示下载依赖包
[INFO] The following files have been resolved:
[INFO] junit:junit:jar:4.11:test
[INFO] org.slf4j:jcl-over-slf4j:jar:1.7.25:compile
[INFO] org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
mvn dependency:sources 下载源码包,列表显示
[INFO] The following files have been resolved:
[INFO] org.slf4j:jcl-over-slf4j:jar:sources:1.7.25:compile
[INFO] org.slf4j:log4j-over-slf4j:jar:sources:1.7.25:compile
[INFO] ch.qos.logback:logback-classic:jar:sources:1.2.3:compile
[INFO] ch.qos.logback:logback-core:jar:sources:1.2.3:compile
[INFO] org.slf4j:slf4j-api:jar:sources:1.7.25:compile
mvn eclipse:clean eclipse:eclipse 生成eclipse工程
mvn clean jetty:run 运行jetty服务器 -Djetty.port=9090设置端口
mvn source:jar install 把源码打入jar包中
mvn clean package 打war
mvn test 执行测试用例
mvn dependency:purge-local-repository 清空本仓库。用于编辑器出现编译异常,始终有红叉。