【问题标题】:Why won't Maven download jar files but does download plugins fine?为什么 Maven 不下载 jar 文件但下载插件很好?
【发布时间】:2011-01-13 12:09:05
【问题描述】:

好的,我正在将我的开发环境从笔记本电脑转移到台式机。

我在两台机器上都有完全相同的项目,但是当我尝试在桌面上通过 eclipse 运行 maven 的更新依赖项时,只是抱怨每个依赖项都“缺少人工制品”!?

我已经检查了桌面上的本地仓库,果然,没有罐子!?所有的 pom 都在那里,但没有罐子!

我回到笔记本电脑,从该机器上的本地 repo 中删除了 jar,并再次调用了更新依赖项,然后 jar 下载得很好,但桌面似乎无法下载任何 jar?

两台机器都在同一个网络/路由器上,所以它不能是硬件防火墙/代理,但是有一些我完全忘记的 eclipse 设置或 windows 防火墙设置吗??

最后,我一直在删除桌面上的 repo 并在项目上使用 mvn -up clean install,我注意到它下载 PLUGIN jar 就好了,但随后继续只下载任何和所有依赖项的 pom! ?

我的 settings.xml 如下(一种建议 repos 的混搭);

  <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd">

<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<mirrors></mirrors>
<profiles>

    <profile>
        <id>standard-extra-repos</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
                <id>net.java.download</id>
                <url>http://download.java.net/maven/2</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>org.apache</id>
                <url>http://maven.apache.org/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>org.codehaus.mojo</id>
                <url>http://mojo.codehaus.org/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>com.jboss.repository</id>
                <url>http://repository.jboss.com/maven2</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>com.springsource.repository.bundles.release
                </id>
                <name>SpringSource Enterprise Bundle Repository -
                    SpringSource Bundle Releases</name>
                <url>http://repository.springsource.com/maven/bundles/release
                </url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>daily</updatePolicy>
                    <checksumPolicy>warn</checksumPolicy>
                </releases>
            </repository>
            <repository>
                <id>com.springsource.repository.bundles.external
                </id>
                <name>SpringSource Enterprise Bundle Repository -
                    External Bundle Releases</name>
                <url>http://repository.springsource.com/maven/bundles/external
                </url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>daily</updatePolicy>
                    <checksumPolicy>warn</checksumPolicy>
                </releases>
            </repository>
            <repository>
                <id>com.springsource.repository.libraries.release
                </id>
                <name>SpringSource Enterprise Bundle Repository -
                    SpringSource Library Releases</name>
                <url>http://repository.springsource.com/maven/libraries/release
                </url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>daily</updatePolicy>
                    <checksumPolicy>warn</checksumPolicy>
                </releases>
            </repository>
            <repository>
                <id>com.springsource.repository.libraries.external
                </id>
                <name>SpringSource Enterprise Bundle Repository -
                    External Library Releases</name>
                <url>http://repository.springsource.com/maven/libraries/external
                </url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>daily</updatePolicy>
                    <checksumPolicy>warn</checksumPolicy>
                </releases>
            </repository>
        </repositories>
    </profile>

【问题讨论】:

  • 确保您的 settings.xml 文件中有正确的设置。
  • 两台机器上的maven配置一样吗? (文件 settings.xml)
  • 查看对 settings.xml 的原始问题的编辑...两台机器上都一样,除了笔记本电脑我在那个部分有一个

标签: java maven


【解决方案1】:

嗯,不确定这是不是很简单,但我在桌面上使用了 maven 3.0.1,我再次下载了 2.2.1 以匹配笔记本电脑和 BANG,依赖 jar 下载现在就好了! “向后兼容” maven 3 就这么多!!!!

【讨论】:

    【解决方案2】:

    查看下载的 POM 的内容。有时 Maven 会尝试下载它们,甚至在文件系统上创建它们,但是如果您查看内容会发现一些服务器错误代码,也许这会有所帮助..

    【讨论】:

    • pom 文件内容看起来很好,没有错误或什么都没有,只是正常的 xml poms
    • 嗯,否则正如大多数人所说,检查您的 settings.xml,它们在两台机器上是否相同?
    • 尝试在你的项目上运行 mvn clean install -X,也许问题会出现在日志中
    • 在我看来,ApavenMaven 和 Codehause 回购 URL 都无效,应该是 repository.codehaus.org repo1.maven.org/maven2 之类的,不是吗?
    • 好的,使用 -X 选项我会得到一大堆类似的异常; 1) 无法从/到 jaspersoft 传输元数据 eclipse:jdtcore/maven-metadata.xml 2) 拒绝访问:jasperforge.org/maven2/jfree/jfreechart/maven-metadata.xml 3) 没有连接器可用于访问使用可用的 legacy 类型的存储库 java.net (download.java.net/maven/1)工厂 WagonRepositoryConnectorFactory 4) 无法收集 com.qualificationcheck:tQchckConnector:jar:2.1-r4 (system), javax.activation:activation:jar:1.1 (compile) 等的依赖项
    【解决方案3】:

    如果不是代理问题,那么可能是您的网络问题,这意味着您的网络无法连接到您的setting.xml中指定的存储库中心。

    尝试更改存储库中心:
    在 maven_home/conf/setting.xml 中,找到 mirrors 标签,将旧的/空的镜像替换为新的镜像,然后重启 eclipse。

    以下是适合我的镜子:

     <mirror>
           <id>ibiblio.org</id>
           <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>
           <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
           <mirrorOf>central</mirrorOf>
           <!-- United States, North Carolina -->
     </mirror>
     <mirror> 
         <id>jboss-public-repository-group</id> 
         <mirrorOf>central</mirrorOf> 
         <name>JBoss Public Repository Group</name> 
         <url>http://repository.jboss.org/nexus/content/groups/public</url> 
     </mirror> 
    

    【讨论】:

      【解决方案4】:

      遇到了同样的问题。在镜像部分添加一个重复的服务器为我解决了这个问题。

      【讨论】:

        【解决方案5】:

        如果您希望您的项目可以在任何机器上移植,则不能依赖本地 settings.xml。我经常看到的实际上是在某处的 /target 目录中构建一个本地 repo,并使用它在构建时生成的 maven 环境中运行目标。约定似乎是 src/main/it/settings.xml 和 src/main/it/local-repo。

        我确信某个地方有一个 maven 插件可以为你做这件事。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-02-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-10
          • 2021-12-07
          • 2017-07-21
          • 2016-05-11
          相关资源
          最近更新 更多