gpt4 book ai didi

maven-2 - 如果调用迭代,maven appassembler 插件不包含当前工件

转载 作者:行者123 更新时间:2023-12-02 12:13:25 24 4
gpt4 key购买 nike

[更新]原来的问题(如下)已解决。我需要打电话

mvn package appassembler:assemble

而不是

mvn package
mvn appassembler:assemble

问题:为什么会有差异?

[原始]

我正在尝试使用 maven appassembler plugin创建一个包含所有依赖项的命令行工具。它几乎可以工作,但缺少当前模块的工件。所有依赖的工件都被复制到存储库,并且 bat 中的类路径包含当前工件。配置如下:

        <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<configuration>
<platforms>
<platform>windows</platform>
<platform>unix</platform>
</platforms>
<programs>
<program>
<mainClass>${mainclass}</mainClass>
<name>huffman</name>
</program>
</programs>
</configuration>
</plugin>

有什么想法吗?

最佳答案

该目标并非设计为独立运行,而是作为生命周期的一部分 - 因此,它取决于 package 中的目标所采用的流程,以将有关其内容的信息返回到项目实例。已创建。当您将其作为两个 Maven 命令运行时,信息会丢失。

您应该使用以下命令,而不是使用这些命令:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<configuration>
...
</configuration>
<executions>
<execution>
<id>assemble</id>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
</plugin>

这意味着您只需运行 mvn package,两个步骤都会运行。

如果您的目的是使应用程序汇编器部分成为可选,您可以将其放入具有与上述相同代码的配置文件中。

关于maven-2 - 如果调用迭代,maven appassembler 插件不包含当前工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com