gpt4 book ai didi

java - 具有多个模块的 Maven 项目结构

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

我对 Maven 项目结构有些陌生。我正在创建一个有两个 jar 的项目。这两个 jar 都不依赖于彼此,但是,它们将使用一些相同的库,并且我创建了两个帮助程序类(一个用于日志记录),它们将在两者中使用。

就项目结构而言,我一直在遵循本指南:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

我目前的项目只有一个模块。我正在使用 IntelliJ IDE 创建我的 build.xml(使用 ANT)来创建我的 Jar。然而,IntelliJ build.xml 并没有立即运行,我不得不进行一些手动编辑以让它构建两个 jar。我相信如果每个 jar 都在它自己的模块中,这将得到解决。另外,根据以下内容,它们似乎应该是 http://www.jetbrains.com/idea/webhelp/module.html

这是我有点困惑的地方。如果我确实为我的第二个 jar 创建了第二个模块,我该如何处理两个模块共享的类?每当我去创建一个新模块时,IntelliJ 都会为新模块提供它自己的 src/路径。

正如我所说,我是 Maven 项目结构的新手。我对使用 build.xml 构建 jar 和 ant 也很陌生。如果我完全走错了路,请告诉我,以便我尽早解决这个问题。

提前致谢。

最佳答案

创建一个包含 pom.xml 的多模块项目 (x),packaging = pom

<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>x</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>x1</module>
<module>x2</module>
</modules>
</project>

和 2 个常规 (jar) 项目(x1 和 x2)。项目结构应该是这样的

x
x1
...
pom.xml
x2
...
pom.xml
pom.xml

主项目 pom 应该包含两个模块共有的依赖项。嵌套项目 poms 应该有对父级的引用。

<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>test</groupId>
<artifactId>x</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>x1</artifactId>
</project>

在这里查看更多信息 http://maven.apache.org/guides/mini/guide-multiple-modules.html

关于java - 具有多个模块的 Maven 项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18187316/

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