maven-resources-plugin(资源插件),maven-compiler-plugin(编译项目),maven-jar-plugin(将项目打成jar包),maven-assembly-plugin(将所有依赖打成jar包)。使用maven-assembly-plugin容易产生一个错误,就是在多个依赖冲突的时候无法解决。不过使用 maven-shade-plugin 生成一个 uber-jar,可以解决依赖间的冲突,适用于Spring Framework。
配置 maven-shade-plugin
org.apache.maven.plugins maven-shade-plugin 2.4.1 package shade com.xxg.Main META-INF/spring.handlers META-INF/spring.schemas
配置完成后,执行mvn package即可打包。生成的jar文件包含了所有依赖,所以可以直接运行。
META-INF/spring.handlers META-INF/spring.schemas
这里的AppendingTransformer的作用是:在Spring Framework中会将多个依赖打到一个jar中,每个jar都会包含spring.handlers和spring.schemas文件,如果生成一个jar包文件会互相覆盖,运行时就会出现XML schema文件出错。为了避免互相影响,使用AppendingTransformer来对文件内容追加合并.
打war时需要maven-resources-plugin(资源插件),maven-compiler-plugin(编译项目),maven-war-plugin插件
maven-war-plugin配置
maven-war-plugin 3.2.0 false
不想打进war包的jar的配置
src/main/webapp/META-INF/auto-config.properties communitytag org.apache.maven.plugins maven-war-plugin 2.1-alpha-1 */lib/xxx.jar src/main/webapp/WEB-INF true WEB-INF
单个执行指令先clean->package
Build Artifacts