我想将我在JAR中的源代码与所有依赖项结合起来,并将其与其他文件一起打包成一个zip文件.我能够创建一个包含所有依赖项的Jar以及ZIP文件,但我无法将两者结合起来.
我最终想要zip文件中的以下目录结构:
装载机/斌/ shellscript.sh
装载器/ LIB /罐与 - dependencies.jar
装载器/应用程序的名字/配置/ config.xml中
这是我的pom文件的摘录:
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
这是我装配的摘录
<assembly>
<id>bin</id>
<!-- Specifies that our binary distribution is a zip package -->
<formats>
<format>zip</format>
</formats>
<baseDirectory>SpreadsheetLoaderApp</baseDirectory>
<fileSets>
<fileSet>
<directory>corporatebondpurchases</directory>
<outputDirectory>${basedir}/corporatebondpurchases/config</outputDirectory>
<includes>
<include>*.xml</include>
<include>*.properties</include>
</includes>
</fileSet>
<fileSet>
<directory>corporatebondpurchases</directory>
<outputDirectory>${basedir}/bin</outputDirectory>
<includes>
<include>*.sh</include>
</includes>
</fileSet>
</fileSets>
</assembly>
Run Code Online (Sandbox Code Playgroud)
以下是部分构建的输出:
[INFO] --- maven-assembly-plugin:2.4:single (default-cli) @ SpreadsheetLoader ---
[INFO] Reading assembly descriptor: src/main/assembly/assembly.xml
[INFO] Building …Run Code Online (Sandbox Code Playgroud)