窗口更新后,Maven更改本地存储库

时间:2015-07-09 08:28:56

标签: maven maven-2 maven-3

我的项目使用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都放到了这个存储库中。)

1 个答案:

答案 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):

  

强制检查远程存储库中缺少的版本和更新的快照