mvn依赖:树不应该从神器中获取神器

时间:2016-02-05 17:47:59

标签: java maven

我有一个中等规模的项目,有很多模块相互依赖。当我运行mvn compilemvn package时,它可以工作,但是当我尝试从根目录运行mvn dependency:tree时,它会失败,抱怨它无法从神器中获取工件。确实神器不存在于神器中。它是我编写的模块之一,是我项目中另一个模块的依赖项。为什么mvn dependency:tree在认识到这是第一方模块时会在神器中搜索此模块? mvn package不抱怨。请指教。 maven错误就像这样 [ERROR] Failed to execute goal on project XXX: Could not resolve dependencies for project XXX: Could not transfer artifact YYY from/to repo (ZZZ): Failed to transfer file: YYY. Return code is: 503 , ReasonPhrase:Error. -> [Help 1]

如果需要,这是我的settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd"
          xmlns="http://maven.apache.org/SETTINGS/1.1.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <mirrors>
        <mirror>
            <mirrorOf>external:*</mirrorOf>
            <name>repo</name>
            <url>http://XXX/artifactory/repo/</url>
            <id>repo</id>
        </mirror>
    </mirrors>

    <profiles>
        <profile>
            <repositories>
                <repository>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                    <id>central</id>
                    <name>Artifactory Central</name>
                    <url>http://XXX/artifactory/libs-release/</url>
                </repository>

                <repository>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <id>snapshots</id>
                    <name>Artifactory Snapshots</name>
                    <url>http://XXX/artifactory/libs-snapshot/</url>
                </repository>
            </repositories>

            <pluginRepositories>
                <pluginRepository>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                    <id>central</id>
                    <name>Artifactory Plugins Central</name>
                    <url>http://XXX/artifactory/plugins-release/</url>
                </pluginRepository>

                <pluginRepository>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <id>snapshots</id>
                    <name>Artifactory Plugins Snapshots</name>
                    <url>http://XXX/artifactory/plugins-snapshot/</url>
                </pluginRepository>
            </pluginRepositories>

            <id>artifactory</id>
        </profile>
    </profiles>

  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>
</settings>

2 个答案:

答案 0 :(得分:0)

'mvn package'跳过Maven周期的'验证'阶段。

这样你就可以成功使用'mvn package'而且你从来不知道任何'验证'问题。

答案 1 :(得分:0)