如何在包的子模块上编写Maven依赖

时间:2012-09-03 17:42:37

标签: java maven pom.xml

我刚开始转移到Maven,所以目前我没有pom.xml。我的项目仅依赖于另一个不属于我的项目的一部分模块。他们有分布在他们的pom中的模块列表。如何在我的pom.xml中声明对特定jar(可能包含在下载的jar中)的依赖性?

1 个答案:

答案 0 :(得分:2)

如果您的其他项目被组织成具有自己的pom.xml的子maven模块,那么这些子maven的<groupId><artifactId><version>个节点 - 模块将包含在您的主项目中。

E.g。

project 1
  |- common
       |- pom.xml
          <groupId>com.project1</groupId>
          <artifactId>common</artifactId>
          <version>1.0</version>
  |- util
       |- pom.xml
          <groupId>com.project1</groupId>
          <artifactId>util</artifactId>
          <version>1.0</version>
  |- domain
       |- pom.xml
          <groupId>com.project1</groupId>
          <artifactId>domain</artifactId>
          <version>1.0</version>
  |- service
       |- pom.xml
          <groupId>com.project1</groupId>
          <artifactId>service</artifactId>
          <version>1.0</version>
  |- webapps
       |- pom.xml
          <groupId>com.project1</groupId>
          <artifactId>webapps</artifactId>
          <version>1.0</version>

在项目2中,如果您只想要commonutildomain以及域模块,那么此项目的pom.xml将包含以下依赖项:

<dependencies>

    ...

    <dependency>
          <groupId>com.project1</groupId>
          <artifactId>common</artifactId>
          <version>1.0</version>
    </dependency>
    <dependency>
          <groupId>com.project1</groupId>
          <artifactId>util</artifactId>
          <version>1.0</version>
    </dependency>
    <dependency>
          <groupId>com.project1</groupId>
          <artifactId>domain</artifactId>
          <version>1.0</version>
    </dependency>

    ...

</dependencies>

希望这有帮助!