maven zip uber jar和shell脚本
我希望maven将shade插件创建的uber jar与all_files目录中的shell脚本结合起来 项目结构如下所示:maven zip uber jar和shell脚本,shell,maven,jar,maven-assembly-plugin,maven-shade-plugin,Shell,Maven,Jar,Maven Assembly Plugin,Maven Shade Plugin,我希望maven将shade插件创建的uber jar与all_files目录中的shell脚本结合起来 项目结构如下所示: all_files/ mvn_script.sh projB-shaded.jar maven_project/ guide/ parent-pom.xml projA/ pom.xml projB/ pom.xml jar由
all_files/
mvn_script.sh
projB-shaded.jar
maven_project/
guide/
parent-pom.xml
projA/
pom.xml
projB/
pom.xml
jar由projectB的pom文件生成,然后放入outtermost文件夹中,准备使用shell脚本进行压缩。原因是shell脚本可以调用jar文件来执行项目
我希望其他程序员能够轻松地解压文件并运行shell脚本而不必担心。我还需要让maven将脚本和jar打包在一起。我不确定如何在着色插件中实现这一点
注意:我不想使用汇编插件,因为它不能很好地打包依赖的JAR
org.apache.maven.plugins
maven阴影插件
2.4.3
包裹
阴凉处
真的
../../guide/${project.artifactId}-${project.version}-shadded.jar
项目类别B
您不想使用maven汇编插件来创建uber-jar。但是你会想用它来创建这个ZIP
目前,您的maven shade插件
已绑定到包
阶段。您可以将该执行转移到prepare package
阶段(因为它实际上准备了您的最终打包),添加绑定到package
阶段的maven汇编插件的执行。您的程序集将基于着色JAR(自执行着色插件以来将存在)和shell脚本创建一个ZIP
示例描述符如下所示:
如何将文件projB-shade.jar和mvn_script.sh添加到单个zip文件中?在prepare包中运行shade会导致失败。它似乎必须在包中运行,或者是否有其他配置允许它更早地运行?