java - 在 pom.xml 中包含 jar

标签 java maven jar parent-child

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

我想创建一个 pom(父级),其中包含这些 jar 作为依赖项,这样,如果我将此 pom(父级)作为依赖项包含在内,所有 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 创建一个 fat jar 子。

有没有一种方法可以让我使用这个 pom 作为指针,以便它只告诉项目导入这 7 个 jar?

最佳答案

我还没有测试过它,但是按照 Maven 逻辑,这应该可以工作:

使用打包 pom 创建一个项目,将 7 个 jar 引用为 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

关于java - 在 pom.xml 中包含 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49239918/

相关文章:

java - 如何为方法实例生成唯一的哈希码?

java - 将音乐文件导入到jar文件中

java - Talend Server 外部 Jar 文件

java - 多个(甚至可能未使用的)jar文件的大型类路径效率低下

java - 在 Java 中对齐文本

java - 如何将 Collections.synchronizedMap(new HashMap()) 转换为 Hash Map

java - 如何处理在 socket java 上发送的大对象?

java - Maven + Jersey RESTful API : Internal Server Error from POSTMAN on GET request

maven - 将 Maven 程序集 ZIP 部署到 nexus

java - bundle jre 中缺少 "ext"文件夹