在pom.xml中包含jar

时间:2018-03-12 16:19:06

标签: java maven jar parent-child

所以这是场景。 我有一个maven项目,我正在使用一些(7)罐进行单元测试。所有这些jar都存在于maven远程/本地(.m2)存储库中。我必须将它们作为依赖项单独添加。

我想创建一个包含这些jar作为依赖项的pom(父),这样如果我将这个pom(parent)作为依赖项包含在内,那么所有7个依赖项都会自动解析。

我试过这段代码,但我认为包装类型存在一些问题。 (pom包装也不起作用。)

<?xml version="1.0" encoding="UTF-8"?>
 <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>some.package</groupId>
 <artifactId>full-PACK</artifactId>
 <version>1.1</version>
 <packaging>jar</packaging>

 <dependencies>

  <dependency>
   <groupId>org.javassist</groupId>
   <artifactId>javassist</artifactId>
   <version>3.21.0</version>
   <scope>test</scope>
  </dependency>

 <!-- 6 more similar dependencies -->

 </dependencies>

</project>

我希望这个pom只是作为指针,这应该解决它们各自的包中的依赖关系,而不是在这个pom的包中。我不想为这个pom创造一个胖罐。

有没有办法可以将这个pom用作指针,以便它只是告诉项目导入那7个罐子?

1 个答案:

答案 0 :(得分:1)

我还没有测试过,但是遵循Maven逻辑,这应该可行:

创建一个包装pom的项目,该项目将7个罐子作为compile个依赖项引用:

<?xml version="1.0" encoding="UTF-8"?>
 <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>some.package</groupId>
 <artifactId>full-PACK</artifactId>
 <version>1.1</version>
 <packaging>pom</packaging>

 <dependencies>

  <dependency>
   <groupId>org.javassist</groupId>
   <artifactId>javassist</artifactId>
   <version>3.21.0</version>
   <scope>compile</scope>
  </dependency>

 <!-- 6 more similar dependencies -->

 </dependencies>

</project>

现在在项目中宣布对此pom的test依赖,如

<dependency>
   <groupId>some.package</groupId>
   <artifactId>full-PACK</artifactId>
   <version>1.1</version>
   <type>pom</type>
   <scope>test</scope>
</dependency>

您的方法失败,因为test依赖项不可传递。看看

上的表格

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html