gpt4 book ai didi

java - 从单个 Maven 项目创建多个可运行的 Jars(包括依赖项)

转载 作者:IT老高 更新时间:2023-10-28 21:14:03 24 4
gpt4 key购买 nike

我有一个包含多个主类的 Maven 项目。我想从这些项目中生成可运行的 jar (包括所有依赖项)。我目前有以下构建配置(使用 maven.assembly):

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>classpath.to.my.mainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>

他们是用 maven-assembly 实现这一目标的方法吗?如果没有,实现我的目标的最简单方法是什么?

最佳答案

你可以做到。您需要为您正在构建的每个 Artifact 单独执行(即,为每个 Artifact 提供自己的 id,但您可以将阶段保留为默认值),并且您需要指定 finalName 和 archive/manifest/mainClass 对于每个

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>build-a</id>
<configuration>
<archive>
<manifest>
<mainClass>foobar.Aclass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>foobar_a.jar</finalName>
</configuration>
</execution>
<execution>
<id>build-b</id>
<configuration>
<archive>
<manifest>
<mainClass>foobar.Bclass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>foobar_b.jar</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

关于java - 从单个 Maven 项目创建多个可运行的 Jars(包括依赖项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8726884/

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