我的项目使用Java和Maven。我的.m2位于目录C:\ Users \ my_user_name中。我使用这个.m2目录作为我项目的唯一存储库。以前一切正常。我昨天也建立了项目成功。今天,我的窗口7更新,当我构建我的项目时,我收到错误
无法为[org.jboss.solder:solder-impl:jar:3.1.0.Final(compile)收集依赖项,或者 g.jboss.solder:solder-api:jar:3.1.0.Final(compile),org.jboss.solder:solder-logging:jar:3.1.0.Final(compile),log4j:lo g4j:jar:1.2.6(已提供),javax.enterprise:cdi-api:jar:1.0-SP4(已提供)]:无法读取org.jboss.solder的工件描述符:solder-impl:jar:3.1.0 .Final:未能找到org.jboss.seam:seam-bom:pom:3.1.0。http://repo.maven.apache.org/maven2中的Final被缓存在本地存储库中,在中心的更新间隔过去之前不会重新尝试解析强制更新 - > [帮助1]
我用命令mvn -X
调试了问题,我得到了结果
Apache Maven 3.0.5(r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 20:51:28 + 0700) Maven home:D:\ soft \ maven \ apache-maven-3.0.5 Java版本:1.7.0_45,供应商:Oracle Corporation Java home:C:\ Program Files \ Java \ jdk1.7.0_45 \ jre 默认语言环境:en_US,平台编码:Cp1252 操作系统名称:“windows 7”,版本:“6.1”,arch:“amd64”,系列:“windows” [INFO]错误堆栈跟踪已打开。 [DEBUG]从D:\ soft \ maven \ apache-maven-3.0.5 \ conf \ settings.xml读取全局设置 [DEBUG]从C:\ Windows \ system32 \ config \ systemprofile \ .m2 \ settings.xml读取用户设置 [DEBUG]在C:\ Windows \ system32 \ config \ systemprofile \ .m2 \ repository中使用本地存储库 [DEBUG]使用经理EnhancedLocalRepositoryManager优先级为10:C:\ Windows \ system32 \ config \ systemprofile \ .m2 \ r \ n epository
如您所见,maven使用存储库C:\Windows\system32\config\systemprofile
。我检查并看到另一个.m2直接在那里,这个.m2目录没有足够的.jar文件。
我还将<repositories>
配置标记与内容
<repositories>
<repository>
<id>repo.maven.apache.org</id>
<url>http://repo.maven.apache.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>repository.jboss.org</id>
<url>https://repository.jboss.org/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>maven.nuxeo.org</id>
<url>https://maven.nuxeo.org/nexus/content/repositories/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
在文件settings.xml中
C:\Users\my_user_name\.m2\repository
。所以我的问题是:如何在C:\Users\my_user_name
中将本地存储库更改为.m2? (因为这个.m2是正确的存储库,我把所有的.jar都放到了这个存储库中。)
答案 0 :(得分:0)
密切注意您收到的错误消息:
未能找到org.jboss.seam:seam-bom:pom:3.1.0。http://repo.maven.apache.org/maven2中的Final被缓存在本地存储库中,解决方案将不会重新尝试,直到中央更新间隔已过去或强制更新
所以Maven告诉你,在你告诉它强制更新之前,它不会尝试修复依赖性问题。这是你如何做到的:
mvn clean install -U
或
mvn clean install --update-snapshots
-U
标志执行以下操作(来自键入mvn -help
):
强制检查远程存储库中缺少的版本和更新的快照