我正在编写一个项目,但在编译项目时遇到了问题。当我导入必要的依赖项后,如 pom 文件所示,我无法运行该项目。
<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>
<artifactId>universeBySali-web</artifactId>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.6.RELEASE</version>
</parent>
<properties>
<java.version>13.0.2</java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-spring-boot-starter</artifactId>
<version>15.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.sali</groupId>
<artifactId>universeBySali-ui</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
</project>
pom文件中显示的错误如下:
项目构建错误:POM org.springframework.boot:universeBySali-web:1.3.6.RELEASE 的“parent.relativePath”(C:\Users\User\Desktop\Materiale\Desktop\Java Projects\universeBySali\universeBySali- web\pom.xml) 指向 com.sali:universeBySali 而不是 org.springframework.boot:spring-boot-starter-parent,请验证您的项目结构
这个pom文件有一个父pom,如下所示:
<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>com.sali</groupId>
<artifactId>universeBySali</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>universeBySali-Model</module>
<module>universeBySali-repository</module>
<module>universeBySali-service</module>
<module>universeBySali-util</module>
<module>universeBySali-web</module>
<module>universeBySali-ui</module>
</modules>
</project>
有人可以告诉我我做错了什么吗?谢谢
最佳答案
默认情况下,Maven 假定父级具有以下相对路径:../pom.xml
。
Maven 将尝试匹配 groupId/artifactId/version,如果不成功,则会抛出警告并使用“外部”父级。
为了确保 Maven 不会尝试将父级作为多模块的一部分进行解析,您应该添加 <relativePath/>
给家长。
关于java - Maven,继承pom模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60697145/