论坛首页 综合技术论坛

maven archetype 报错

浏览 4552 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-12-03   最后修改:2012-12-03
使用maven和nexus的时候出现了问题,如下:
我在~/.m2/settings.xml中添加了如下配置,其中myRepository是我自己新建了的一个nexus group,该group整合了nexus自带的所有的可用的Repositories,我的意思是想让maven从http://10.110.106.42:5080/nexus/content/groups/myRepository这里下载依赖,nexus会自动从那些Repositories中下载依赖并缓存到本地,不知道这么写有什么问题。
  <mirrors>
    <mirror>
      <id>my-repository</id>
      <mirrorOf>*</mirrorOf>
      <url>http://10.110.106.42:5080/nexus/content/groups/myRepository</url>
    </mirror>
  </mirrors>
  
  <profiles>
    <profile>
      <id>dev</id>
      <repositories>
        <repository>  
          <id>my-repository</id>
          <url>http://10.110.106.42:5080/nexus/content/groups/myRepository</url>
          <releases>  
            <enabled>true</enabled>
          </releases>  
          <snapshots>  
            <enabled>true</enabled>  
          </snapshots>
        </repository>  
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>my-repository</id>
          <url>http://10.110.106.42:5080/nexus/content/groups/myRepository</url>
          <releases>  
            <enabled>true</enabled>
          </releases>  
          <snapshots>  
            <enabled>true</enabled>  
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>dev</activeProfile>
  </activeProfiles>
  

然后用mvn archetype:generate命令的时候就报错了:
引用

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:generate (default-cli) on project standalone-pom: Execution default-cli of goal org.apa
che.maven.plugins:maven-archetype-plugin:2.2:generate failed: Plugin org.apache.maven.plugins:maven-archetype-plugin:2.2 or one of its dependencies could not be resolved:
Failure to find org.codehaus.groovy:groovy:jar:1.8.3 in http://10.110.106.42:5080/nexus/content/groups/myRepository was cached in the local repository, resolution will not be rea
ttempted until the update interval of my-repository has elapsed or updates are forced -> [Help 1]


如果我不设置~/.m2/settings.xml,所有的maven采用默认的设置,则不会报错。也就是说所有的依赖都是可以找到的,那为什么加了上面的设置就不行了呢?
   发表时间:2012-12-06   最后修改:2012-12-06
出现那个错误有两种原因:
1你远程的仓库 http://10.110.106.42:5080/nexus/content/groups/myRepository中“org/codehaus/groovy”下没有“1.8.3/groovy-1.8.3.jar”文件。解决办法是需要去设置仓库。
2 你本地的仓库中maven软件的数据库记录(其实不是数据库而是一些文本文件,作用相当于数据库)有错误,在更新jar包时会比较本地记录中最后更新时间和远程仓库中最后更新时间,如果本地时间>=远程时间就不再重新下载了。如果本地的记录是错的,可能永远不再从远程下载了。解决办法是删除~/.m2/repository/org/codehaus/groovy/1.8.3这个目录,然后在工程上右键 -> Maven - Update Dependencies 。
0 请登录后投票
   发表时间:2012-12-06  
谢谢你的回复
1. 这种情况我check了下,远程仓库中是有这个包的
2. 我是在运行mvn archetype:generate命令时出错的,这时还没有工程,如何执行Update Dependencies?

现在可以运行了,但是不知道是如何恢复正常的。我试了下面几种方式都没有重现这个问题:
1. 删除远程的groovy-1.8.3.jar包,因为本地有这个jar包,所以运行正常
2. 同时删除远程和本地的jar包,远程先下载,然后maven从远程下载到本地缓存,运行正常
3. 删除本地的jar,会从远程下载到本地,运行正常
4. 把本地的groovy-1.8.3.jar所在目录的文件全部删掉,新建一个文本文件,改名叫groovy-1.8.3.jar,一样可以运行成功,maven只是从远程仓库中下载了除groovy-1.8.3.jar以外的所有文件,groovy-1.8.3.jar本身并没有从新下载,运行正常

糊涂了。。。先这样吧,还得深入研究
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics