我正在尝试输出在./target/dist
文件夹中运行项目所需的所有文件。我想在准备装配时捆绑一个JRE。 JRE位于我项目的基本目录中,包含在名为jre.zip
的zip文件中。
如何在./jre.zip
文件夹中解压缩./target/dist
?
这是我的汇编的XML。
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>dist</id>
<formats>
<format>dir</format>
</formats>
<baseDirectory>./</baseDirectory>
<fileSets>
<fileSet>
<directory>./</directory>
<outputDirectory>./jre</outputDirectory>
<excludes>
<exclude>*/**</exclude>
</excludes>
</fileSet>
</fileSets>
<files>
<file>
<source>${project.build.directory}/${project.build.finalName}.jar</source>
<destName>${artifactId}.jar</destName>
<outputDirectory>./</outputDirectory>
</file>
</files>
</assembly>
答案 0 :(得分:2)
虽然您可以使用Maven Assembly Plugin解压缩依赖关系,但我非常喜欢使用jre ....
我建议您在执行Assembly插件之前解压缩jre,如此
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>prepare</id>
<phase>validate</phase>
<configuration>
<tasks>
<echo message="prepare phase" />
<unzip src="jre.zip" dest="target/jre"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>