在Maven中如何构建在构建主项目时作为主项目中的依赖项添加的依赖项目?

时间:2011-06-29 10:57:42

标签: java maven

我的主项目中有3个独立项目。当我想将这些项目的依赖项添加到主项目时,首先我构建依赖项目,然后最终构建主项目。 在构建主项目时是否有办法构建依赖项目?

4 个答案:

答案 0 :(得分:3)

当然,使用多模块项目

<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>com.company</groupId>
  <version>1.0-SNAPSHOT</version>
  <artifactId>someName</artifactId>
  <name>someName</name>
  <packaging>pom</packaging>
  <modules>
    <module>dependentProject1</module>
    <module>dependentProject2</module>
    <module>mainProject</module>
  </modules>
</project>

答案 1 :(得分:3)

this comment中,您更清楚地指出了您的问题:“我的问题是当我构建项目C时,项目A和B也要构建,并且应该在C时添加它们的依赖项仅构建过程“。您有依赖项,想要构建项目的依赖项,但您不想使用multi-module project

想要你想做的事是不可能的。我有一个类似的问题,并找到了这个明确的答案this answer。大多数其他答案和评论建议使用多项目结构或使用ant脚本编排不同的(独立)构建。

答案 2 :(得分:0)

你能更好地解释一下你的情况(包括pom.xml)......也许你需要的是http://docs.codehaus.org/display/MAVENUSER/Multi-modules+projects

答案 3 :(得分:0)

在子项目中,您可以添加

<groupId>com.childproj.service</groupId>
<artifactId>A</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>

在父项目中你可以这样做

<dependencies>
<dependency>
    <groupId>com.childproj.service</groupId>
    <artifactId>A</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>