我的pom文件中有一个appassembler-maven-plugin,它过去工作得很好--我可以通过运行mvn程序集:assembly来创建一个可部署的windows和unix包。
但是,它不再适用于新的Spring引导项目,它抱怨道:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.6:single (default) on project rest: Failed to create assembly: Error creating assembly archive bin: You must set at least one file. -> [Help 1]出什么问题了?而b/w appassembler-maven-plugin和maven-assembly-plugin有什么区别呢?我尝试了后者,似乎抛出了相同的错误(我不记得错误的细节)。
我的pom中的插件看起来像:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
<configurationDirectory>config</configurationDirectory>
<copyConfigurationDirectory>true</copyConfigurationDirectory>
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<assembleDirectory>${project.build.directory}/${project.name}</assembleDirectory>
<extraJvmArguments>
-Xms128m -Xmx128m
</extraJvmArguments>
<platforms>
<platform>unix</platform>
</platforms>
<programs>
<program>
<mainClass>com.mycompany.Application</mainClass>
<name>gs_rest.sh</name>
</program>
</programs>
</configuration>
</plugin> 发布于 2022-11-30 09:53:00
对于那些从搜索引擎点击这个页面的人:
appassembler-maven-plugin自2015年以来就被废弃了。
请使用maven-assembly-plugin。
下面是两个例子-有一个显式描述符文件,还有一个依赖于预定义的描述符。
<!-- The executable JAR(s) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.4.2</version>
<executions>
<execution>
<id>assembleDistZip</id><goals><goal>single</goal></goals><phase>package</phase>
<configuration>
<finalName>${project.artifactId}-${project.version}-dist</finalName>
<archive>
<manifest>
<mainClass>${mainClass}</mainClass>
<addClasspath>false</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<descriptors><descriptor>src/build/assembly-dist.xml</descriptor></descriptors>
</configuration>
</execution>
<execution><phase>package</phase><goals><goal>single</goal></goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>${project.artifactId}</finalName>
<outputDirectory>${project.build.directory}/dist</outputDirectory>
<descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs>
<archive>
<manifest> <!-- Jar - MANIFEST.MF options. -->
<addClasspath>false</addClasspath>
<mainClass>${mainClass}</mainClass>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
<manifestEntries>
<Release-Version>${project.version}</Release-Version>
</manifestEntries>
</archive>
</configuration>
</execution>
</executions>
</plugin>https://stackoverflow.com/questions/39969837
复制相似问题