1. 修改pom.xml
pom.xml中设置如下:4.0.0 com.zd logETL 1.0-SNAPSHOT jar logETL UTF-8 / junit junit 4.12 test com.mchange c3p0 0.9.5.2 provided mysql mysql-connector-java 5.1.28 org.apache.logging.log4j log4j-api 2.2 org.apache.logging.log4j log4j-core 2.2 org.apache.logging.log4j log4j-slf4j-impl 2.2 org.slf4j slf4j-api 1.7.10 stormETL src/main/resources assembly.xml src/main/java c3p0-config.xml org.apache.maven.plugins maven-compiler-plugin 3.0 org.apache.maven.plugins maven-assembly-plugin 2.6 false com.cmsz.RunMain src/main/resources/assembly.xml make-assembly package single
其中<artifactId>maven-assembly-plugin</artifactId>的maven-assembly-plugin是这个插件的标准命名,在maven2.0.*中带的默认版本是
execution的设置是为了将maven-assembly-plugin继承到标准的maven打包过程中,这样在运行maven-package时就会执行maven-assembly-plugin的操作,从而实现我们需要的自定义打包。
2. assemble descriptor file
我的src/main/resources/assembly.xml内容如下:bin jar false / src/main/java true / true false /test true test false /provided true provided
详细的语法不介绍了,请参考官方指南,有非常详尽的说明:
简单解释一下: 1) formatformat=zip设置打包的最终文件格式为zip.支持的其他格式还有gz,tar,tar.gz,tar.bz2。
2) fileset
src/main/bin /
将src/main/bin目录下的文件打包到根目录(/)下.
src/main/bin config
将src/main/config目录下的文件打包到config下.
3) dependencySetslib runtime
将scope为runtime的依赖包打包到lib目录下。