我正在尝试在微服务上创建一个测试项目。基于另一个项目。这是项目结构:
octory
--common
--proxy-service
--content
在项目的根目录下,我创建了主 pom.xml
<groupId>ru.octory.marketplace</groupId>
<artifactId>octory</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.12</version>
<relativePath/>
</parent>
<modules>
<module>content</module>
<module>common</module>
<module>proxy-service</module>
</modules>
通用模块的 pom.xml
<parent>
<artifactId>octory</artifactId>
<groupId>ru.octory.marketplace</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
<name>common</name>
<description>Common MicroService</description>
<properties>
<java.version>14</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
代理服务模块的 pom.xml
<parent>
<artifactId>octory</artifactId>
<groupId>ru.octory.marketplace</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>proxy-service</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>proxy-service</name>
<description>Proxy-service MicroService</description>
<properties>
<java.version>14</java.version>
<openapi.version>1.5.4</openapi.version>
<common.version>1.0-SNAPSHOT</common.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</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>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ru.octory.marketplace</groupId>
<artifactId>common</artifactId>
<version>${common.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.2</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<finalName>proxy</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
</build>
构建没有错误的通用模块。但是当我在代理服务模块中运行 mvn clean install 时,出现错误:
[ERROR] Failed to execute goal on project proxy-service: Could not resolve dependencies for project ru.octory.marketplace:proxy-service:jar:1.0-SNAPSHOT: Failed to collect dependencies at ru.octory.marketplace:common:jar:1.0-SNAPSHO
T: Failed to read artifact descriptor for ru.octory.marketplace:common:jar:1.0-SNAPSHOT: Could not find artifact ru.octory.marketplace:octory:pom:1.0-SNAPSHOT
我第一次尝试在微服务上创建一个项目,但我对依赖关系完全感到困惑。我做错了什么?
此错误很可能意味着您在项目树中有两次此工件。maven 很可能正在按照依赖项指令从其存储库中下载依赖项(或者那里已经构建了一个折叠的工件),并且您的模块也在构建中 - 这复制了工件。尝试使用本地存储库删除 /home/<User_Name>/.m2 文件夹并重建 - Mira
删除带有本地存储库的文件夹 /home/<User_Name>/.m2 帮助。只有在那之后,错误才消失。