gpt4 book ai didi

maven - 如何让 Maven 为同一个项目生成两个 jar?

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

我担心答案可能会是“拆分项目”,但这里是...

我有一个项目,我现在需要输出一个版本的 jar 文件,没有 log4j.xml 配置。我在想如果我可以有双重输出会很好:一个带有 log4j.xml 的 jar 和一个没有 log4j.xml 的重复 jar。我不想只为一个文件拆分项目。我已经尝试过 Assembly 插件,但我认为我还没有找到正确的配置。

最佳答案

这种关系中最好的解决方案是不使用配置文件,因为配置文件会强制您使用激活的配置文件再次运行您的构建,如果您喜欢使用发布插件等,这将不起作用。最简单的解决方案是使用这样的分类器:

  <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>second-jar</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>without</classifier>
<excludes>
<exclude>**/log4j*</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

绑定(bind)到包阶段的默认绑定(bind) maven-jar-plugin 将创建包含 log4j.xml 文件的 jar,上面将创建不带 log4j.xml 文件的 jar 文件,可以使用分类器没有或者你怎么命名它。

这样做的好处是您可以通过一次 maven 调用简单地创建两个 jar,例如:

mvn clean package

它们还将附加到项目并将部署到适当的存储库。

关于maven - 如何让 Maven 为同一个项目生成两个 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16367068/

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