我正在尝试使用spring和maven创建一个父子项目,但运气不好。我发现了很多例子,但都涉及到多模块项目。
我有一个核心项目,需要导入到其他许多子项目。核心项目有一些依赖项,这些依赖项必须继承给子项目。
我试图将核心项目转换为多模块,但没有成功。这是我的配置。
核心项目pom.xml(它有一个模块)
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>it.mygroup</groupId>
<artifactId>core-be</artifactId>
<version>1.0.0</version>
<name>core-be</name>
<packaging>pom</packaging>
<modules>
<module>backend</module>
</modules>
</project>
接下来是定义spring引导配置等的模块后端。
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>it.mygroup</groupId>
<artifactId>backend</artifactId>
<version>1.0.0</version>
<name>backend</name>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这是需要导入到任何其他项目中的核心项目。我尝试将其作为父级导入,但找不到核心项目中定义的所有类:
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>it.mygroup</groupId>
<artifactId>core-be</artifactId>
<version>1.0.0</version>
</parent>
<groupId>it.mygroup</groupId>
<artifactId>my-project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>my-project</name>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
1条答案
按热度按时间wbgh16ku1#
对于作为父级的核心项目配置:
之后,每个项目将从中继承:
以及我的项目配置: