共同学习把:
创建父模块
1 | mvn archetype:generate -DgroupId=com.jimo -DartifactId=maven-multi -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=pom-root -DinteractiveMode=false |
创建子模块
1 | $ mvn archetype:generate -DgroupId=com.jimo -DartifactId=core -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false |
返回父模块,发现pom已经变了:
1 | core$ cd .. |
继续创建另一个模块webapp
1 | $ mvn archetype:generate -DgroupId=com.jimo -DartifactId=webapp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false |
1 | $ mvn clean install |
学习后的问题总结
maven的多模块和继承有什么区别?
- 多模块: 在install时会把所有模块都安装到本地残酷,而继承只会安装父模块
- 只有多模块声明时,当然不能共享pom了,每个子模块都得声明一套自己的依赖
如何搭建自己的仓库?
- nexus
- Artifactory
- FTP服务器
maven的profile作用是啥,怎么使用?
常用命令:
- tree命令 :
mvn dependency:tree -Dverbose
- 查看从super-pom继承了哪些属性:
mvn help:effective-pom
- tree命令 :
如何写一个maven plugin出来?
1 |