假设我在Maven项目中有以下目录布局:
src/ |-- main | |-- bin | | |-- run.cmd | | `-- run.sh | |-- etc | | |-- common-spring.xml | | |-- log4j.xml | | `-- xml-spring.xml | `-- java | `-- com ...
我想构建一个zip文件,当解压缩时,生成如下内容:
assembly |-- bin | |-- run.cmd | `-- run.sh |-- etc | |-- common-spring.xml | |-- log4j.xml | `-- xml-spring.xml `-- lib |-- dependency1.jar |-- dependency2.jar ...
其中`run.xx'是可执行的shell脚本,它将调用我的主应用程序并将所有依赖项放在类路径上.
这是否可能与一些"官方"Maven插件,例如maven-assembly-plugin?
我使用AppAssembler插件来获得类似的东西.例:
...org.codehaus.mojo appassembler-maven-plugin com.acme.MainClass app
我已经使用maven-assembly-plugin来实现项目中类似的东西.我想在打包阶段构建一个zip文件,而不是手动调用assembly:assembly.这是我想出的:
/src/assemble/distribution.xml:
distribution zip /lib runtime target *.jar conf/**
/pom.xml
...
maven-assembly-plugin src/assemble/distribution.xml package assembly
...