Java Maven父项目既是父项目又是库
我有两个独立的Maven项目:Java Maven父项目既是父项目又是库,java,maven,Java,Maven,我有两个独立的Maven项目: 项目A(图书馆) 项目B(客户) 背景如下: 项目A在其pom.xml中声明了某些第三方依赖项 项目A在项目B中声明为父项目 项目A本身也是一个通用库(具有一些公共接口和执行一些通用任务的相关实现类) 我试图通过将项目A声明为父项目,看看是否可以使项目B简单地继承依赖项 <parent> <groupId>net.example.com</groupId> <artifactId>projec
- 项目A(图书馆)
- 项目B(客户)
- 项目A在其pom.xml中声明了某些第三方依赖项
- 项目A在项目B中声明为父项目
- 项目A本身也是一个通用库(具有一些公共接口和执行一些通用任务的相关实现类)
<parent>
<groupId>net.example.com</groupId>
<artifactId>projectA</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
net.example.com
项目A
0.0.1-快照
并将项目A作为依赖项包含,以利用它提供的所有库类
<dependency>
<groupId>net.example.com</groupId>
<artifactId>projectA</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
net.example.com
项目A
0.0.1-快照
以下是图书馆项目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>
4.0.0
com.example
项目A
0.0.1-快照
聚甲醛
org.springframework.boot
spring启动程序父级
2.0.1.1发布
UTF-8
1.8
org.springframework.boot
弹簧靴起动器
maven jar插件
2.6
请注意,我将其打包为pom。我已经包括了Maven Jar插件,但我正在尝试让Maven安装正确地生成Jar文件,并安装pom和Jar工件。我认为这是一个问题,因为
这通常是个坏主意。如果您想要的只是依赖项,那么这些依赖项无论如何都会以传递的方式包含进来,所以听起来您实际上是在尝试做一些事情,而不是您在问题中解释的事情。