一、maven的project与子module
1 父工程必须是pom。
2 module继承了父工程定义的版本、属性、依赖。
3 module定义的版本、属性、依赖优先级高(属性、低高版本依赖都测试过)。
4 需要在project下面构建,所有module会自动构建,构建顺序自动计算;如果在module下面构建,存在module依赖时会报错。
5 web模块依赖的模块会打成jar包置于WEB-INF\lib下面。
安装本地依赖(工程、jar):
mvn install,安装本地工程
mvn install:install-file-Dfile=jmxtools.jar -DgroupId=com.sun.jmdk -DartifactId=jmxtools -Dversion=1.2.1 -Dpackaging=jar
删除本地安装依赖(推荐1):
1 直接进入本地文件夹进行删除
2 mvn dependency:purge-local-repository -DreResolve=false,删除所有本地依赖
3 mvn build-helper:remove-project-artifact,删除指定工程依赖
模块间依赖:
父pom指定哪些子模块可以被依赖
com.webank
pch1
${version}
子模块直接引入需要依赖的其它模块
com.webank
pch1
打包:
jar包:所有资源一起打包,包括配置文件。
war包:所有资源一起打包,包括配置文件,包括依赖jar包。
打包资源:
1 pom不指定resources或者resources不存在子元素,则默认打包${basedir}/src/main/resources。
2 targetPath是jar包文件里面的路径。
3 excludes排除优先级高,跟通配符没关系。
META-INF
${basedir}/src/main/java
**/*.xml
**/*.properties
config.properties
${basedir}/src/main/resources