配置步骤及其他事项
首先我们需要在pom.xml中配置maven的assembly插件
org.apache.maven.plugins
maven-compiler-plugin
1.7
1.7
UTF-8
org.apache.maven.plugins
maven-jar-plugin
2.3.1
com.datapps.metric.cli.MetricsCLI
true
./
org.apache.maven.plugins
maven-assembly-plugin
2.2.1
src/main/assembly/assembly.xml
false
make-assembly
package
single
接着我们在src/main/assembly文件中配置assembly.xml文件
package
tar.gz
true
true
lib
runtime
src/main/bin
/
其中,生成的lib文件夹下放该项目的所有依赖以及该服务jar包,src/main/bin文件夹下我们一般放start.sh和stop.sh两个脚本文件用来开启和关闭该服务,打包后直接放到根目录下。生成的tar.gz文件的名字为:maven-assembly-plugin插件中配置的finalName-assembly.xml配置的id(若assembly中没有指定id,则只有前半部分).
项目目录结构
有依赖的jar打成tar.gz
org.apache.maven.plugins
maven-assembly-plugin
2.2.1
com.datapps.generator.DataGenerator
true
./
jar-with-dependencies
src/main/assembly/assembly.xml
false
make-assembly
package
single
org.apache.maven.plugins
maven-shade-plugin
2.3
package
shade
reference.conf
assembly.xml
package
tar.gz
true
true
lib
provide
src/main/bin
/bin
0755
src/main/schemas
/schemas
src/main/doc
/
Could not resolve substitution to a value: ${akka.stream.materializer}
reference.conf