MVN 依赖项:树试图在不应该的时候从工件工厂获取工件



我有一个中等规模的项目,其中有许多模块相互依赖。当我运行mvn compilemvn package时它可以工作,但是当我尝试从根目录运行mvn dependency:tree时,它失败了,抱怨它无法从工件工厂获取工件。的确,神器在神器中不存在。它是我编写的模块之一,是我项目中另一个模块的依赖项。为什么mvn dependency:tree在工件工厂中搜索此模块,而它应该识别出这是第一方模块? mvn package不抱怨。请指教。专家错误是这样的
[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>

这与 Maven 在运行 mvn 依赖项:tree 时无法识别同级模块是相同的问题,答案是运行:

mvn compile dependency:tree

(来源:https://stackoverflow.com/a/1905927/147530)

'mvn package' 跳过 Maven 循环的"验证"阶段。

这样,您就可以成功使用"mvn包",并且您永远不知道任何"验证"问题。

最新更新