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

Cam*_*nes 1 java project-structure maven

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

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

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

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

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

提前谢谢.

Evg*_*eev 5

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

<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>
Run Code Online (Sandbox Code Playgroud)

和2个常规(jar)项目(x1和x2).这就是项目结构的样子

x
  x1
    ...
    pom.xml
  x2
    ...
    pom.xml
pom.xml
Run Code Online (Sandbox Code Playgroud)

主项目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>
Run Code Online (Sandbox Code Playgroud)

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