Maven 我可以在根项目';s依赖关系管理科
我正在开发一个应用程序,它有多个项目。 我正在尝试为根POM中的一个公共项目添加依赖项管理,以便确保所有项目使用相同的版本 根/父pom包含Maven 我可以在根项目';s依赖关系管理科,maven,maven-surefire-plugin,maven-dependency-plugin,Maven,Maven Surefire Plugin,Maven Dependency Plugin,我正在开发一个应用程序,它有多个项目。 我正在尝试为根POM中的一个公共项目添加依赖项管理,以便确保所有项目使用相同的版本 根/父pom包含 <groupId>com.citylimited</groupId> <artifactId>maven-master-project</artifactId> <version>12.3.2-SNAPSHOT</version> <packaging&
<groupId>com.citylimited</groupId>
<artifactId>maven-master-project</artifactId>
<version>12.3.2-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Maven Master Project</name>
<dependencyManagement>
<dependencies>
<!-- COMPILE Dependencies -->
<dependency>
<groupId>com.city.common</groupId>
<artifactId>common-project-jar</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<dependencyManagement>
问题:
- 是什么导致了上述问题
- 我是否可以在根项目的依赖项管理部分中添加一个子公共项目,并在所有其他子项目中引用
无论如何,将jar声明为${project.version}的任何子模块中的依赖项将确保它们都得到它(正确的版本)。
只需确保jar在被其他人使用之前已经构建好(反应堆构建顺序)
我希望这会有所帮助。它应该会起作用,因为
dependencyManagement
不会声明实际的依赖关系,只会说“如果有人要求-这就是版本”。从错误日志中,您似乎不仅添加了依赖项管理
,而且还向pom添加了一个实际的依赖项-它为公共jar项目本身查找公共jar依赖项。您关于依赖项管理的看法是正确的。这是可能的,而且我可以在我的公共项目中找到对自身的可传递依赖项。我已经排除了这一点,效果很好。我们可以做到。请查查朱巴鲁奇的评论。
[ERROR] Failed to execute goal on project common-project-jar: Could not resolve dependencies for project com.citylimited:common-project-jar:jar:12.3.2-SNAPSHOT
: Failure to find com.citylimited:common-project-jar:jar:12.3.2-SNAPSHOT in http://server1/nexus/content/groups/public was cached in the local repository, re
solution will not be reattempted until the update interval of internal-city-repository has elapsed or updates are forced -> [Help 1]
[ERROR]