我们在多项目环境中使用Maven2。其实我正在处理依赖范围。在目标解决方案中,我想通过设置类路径将所有依赖项提交到vm。
Pom_Project_A_.xml
<dependencies>
<dependency>log4j</dependency>
<dependency>commons-io</dependency>
<dependency>...</dependency>
</dependencies>
Pom_Project_B.xml
<dependencies>
<dependency>Project_A</dependency>
</dependencies>
当我想编译项目“B”时,maven无法解析log4j以及项目“A”中已定义的其他“子依赖项”。
是否可以改变这种行为? 非常感谢
答案 0 :(得分:0)
范围“编译”是我需要的。 我对使用maven目标包,程序集等的范围编译,运行时,测试等感到困惑。
项目A的Pom:
<parent>
<groupId>net.company</groupId>
<artifactId>superpom</artifactId>
<version>1.0.2</version>
</parent>
<groupId>net.company.projectA</groupId>
<artifactId>projectA</artifactId>
<version>1.1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<scope>compile</scope>
</dependency>
</dependencies>
项目B的Pom:
<parent>
<groupId>net.company</groupId>
<artifactId>superpom</artifactId>
<version>1.0.2</version>
</parent>
<groupId>net.company.projectB</groupId>
<artifactId>projectB</artifactId>
<version>1.1.2-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>net.company.projectA</groupId>
<artifactId>projectA</artifactId>
<version>1.1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>