gpt4 book ai didi

java - 有没有办法只使用枚举或接口(interface)在 Maven 项目中创建 jar 文件?

转载 作者:行者123 更新时间:2023-11-30 08:06:19 25 4
gpt4 key购买 nike

我有一个带有标准 pom 和 jar 包装的项目。标准 -.jar 是该项目的理想 Artifact 。

除了包含该项目所有类的标准 jar 之外,我还需要创建一个仅包含声明枚举的额外 jar。

如果我能够使用不同的 artifactId 在 Maven 标准中生成这个 jar,那将是一个加号。

这个问题在这里Create several jar files from single project using maven将是一个很好的起点,但没有答案

有什么想法吗?

最佳答案

您最好的选择是进行 Maven 多模块构建。

通常,这由一个父模块加上多个子模块组成。

父模块的包装应该是“pom”,它只会作为子模块的容器。

父级的 pom.xml 看起来像这样:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>your groupID</groupId>
<artifactId>artifact</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<name>Name</name>
<modules>
<module>submodule1</module>
<module>submodule2</module>
</modules>
</project>

每个模块应该是一个子目录的名称。这些子目录将包含自己的 pom.xml文件。

请注意 groupId , artifactId , 和 version后面会用到,所以应该是有意义的东西。

你的两个子模块应该看起来像正常的 jar打包 POM 文件,但有一些异常(exception):

  1. 每个模块都应该有一个 <parent>元素指向 <groupId> , <artifactId> , 和 <version>父模块的。虽然这部分不是绝对必要的,但它确实让您在父模块中定义公共(public)依赖项。
  2. 常规模块将枚举模块作为依赖项。您可以像声明任何其他依赖项一样声明它,但请注意 Maven 按顺序编译模块,因此枚举模块应该首先位于父 pom 中。

关于java - 有没有办法只使用枚举或接口(interface)在 Maven 项目中创建 jar 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34443270/

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