旧项目重建时Maven无法加载JBoss Drools依赖,原仓库已失效
问题描述
尝试重建一个老旧项目,其pom.xml中配置的仓库如下:
<repository> <id>jboss-drools</id> <name>JBoss-Drools Repository</name> <url>https://repository.jboss.org/nexus/content/groups/public/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository>
执行mvn clean install时失败,报错信息如下:
[ERROR] Failed to execute goal on project <WAR>: Could not resolve dependencies for project <WAR>:<SNAPSHOT>: The following artifacts could not be resolved: org.apache.xerces:xml-apis:jar:2.10.0, org.apache.xerces:xercesImpl:jar:2.10.0, org.apache.xerces:resolver:jar:2.10.0, org.apache.xerces:serializer:jar:2.10.0, org.apache.xalan:xalan:jar:2.7.1, org.apache.commons.ssl:not-yet-commons-ssl:jar:0.3.9: Could not find artifact org.apache.xerces:xml-apis:jar:2.10.0 in jboss-drools (https://repository.jboss.org/nexus/content/groups/public/) -> [Help 1]
查看该仓库链接后发现已不再包含JBoss Drools相关依赖,请问哪里可以找到这些依赖?
解决方法
- 添加Maven中央仓库:大部分缺失的依赖(如xerces系列、xalan)都存于Maven中央仓库。在
pom.xml的<repositories>节点下添加以下配置:
<repository> <id>central</id> <name>Maven Central Repository</name> <url>https://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository>
- 处理特殊老旧依赖:
org.apache.commons.ssl:not-yet-commons-ssl:0.3.9这类罕见的老旧依赖,可通过手动安装jar包到本地Maven仓库解决:
下载对应jar包后,执行以下命令:mvn install:install-file -Dfile=/path/to/not-yet-commons-ssl-0.3.9.jar -DgroupId=org.apache.commons.ssl -DartifactId=not-yet-commons-ssl -Dversion=0.3.9 -Dpackaging=jar - 替换原JBoss仓库:原JBoss公共仓库已迁移,可替换为Red Hat官方GA仓库,配置如下:
<repository> <id>redhat-ga</id> <name>Red Hat GA Repository</name> <url>https://maven.repository.redhat.com/ga/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository>
内容的提问来源于stack exchange,提问作者Ruchi Tengse
相关产品推荐
相关产品推荐

