java - Maven 父项目既是父项目又是库
问题描述
我有两个独立的 Maven 项目:
- 项目 A(图书馆)
- 项目 B(客户)
这是背景:
- 项目 A 在其 pom.xml 中声明了某些第三方依赖项。
- 项目 A 在项目 B 中被声明为父项目。
- 项目 A 本身也用作通用库(具有一些公共接口和执行一些通用任务的相关实现类。)
我想看看我是否可以通过将项目 A 声明为父项目来让项目 B 简单地继承依赖项
<parent>
<groupId>net.example.com</groupId>
<artifactId>projectA</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
并且还包括项目 A 作为依赖项,以利用它提供的所有库类
<dependency>
<groupId>net.example.com</groupId>
<artifactId>projectA</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
这是图书馆项目 Project A 的 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>com.example</groupId>
<artifactId>projectA</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!- Other dependencies -->
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
</build>
</project>
请注意,我将其打包为 pom。我已经包含了 Maven Jar 插件,但我试图让 Maven 安装正确生成 jar 文件并安装 pom 和 jar 工件。
解决方案
我认为有一个问题,因为
- 父项目必须是packing=pom
- 要生产一个罐子,你需要 Packaging=jar
推荐阅读
- processing - 如何在贝塞尔曲线中添加渐变?
- c++ - 在 C++ 中访问 int 映射到类对象时出错
- c# - 安装部署到 Microsoft Store 的 WPF .net Core 3.1 应用程序时出错
- laravel - laravel 使用具有多对多关系数据透视表的策略
- c# - C#:Web 应用程序中的编译器在优化期间会删除 Console.WriteLine 吗?
- javascript - 找不到变量 atob
- python-3.x - 具有选定范围的 phyton3 访问列表列
- python - Cv2.error : (-215:Assertion failed) !_img.empty() in function 'imwrite'
- swift - 按与给定值的差异对数组进行排序
- javascript - 使用 ofType 访问 @ngrx 效果中的动作道具以进行多个动作