首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >appassembler-maven-plugin vs maven-assembly-plugin

appassembler-maven-plugin vs maven-assembly-plugin
EN

Stack Overflow用户
提问于 2016-10-11 02:56:40
回答 1查看 1.2K关注 0票数 2

我的pom文件中有一个appassembler-maven-plugin,它过去工作得很好--我可以通过运行mvn程序集:assembly来创建一个可部署的windows和unix包。

但是,它不再适用于新的Spring引导项目,它抱怨道:

代码语言:javascript
复制
[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中的插件看起来像:

代码语言:javascript
复制
<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> 
EN

回答 1

Stack Overflow用户

发布于 2022-11-30 09:53:00

对于那些从搜索引擎点击这个页面的人:

appassembler-maven-plugin自2015年以来就被废弃了。

请使用maven-assembly-plugin

下面是两个例子-有一个显式描述符文件,还有一个依赖于预定义的描述符。

代码语言:javascript
复制
        <!-- 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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39969837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档