2016-02-05 53 views
0

我有一箇中等規模的項目,其中有許多模塊相互依賴。當我運行mvn compilemvn package它可以工作,但是當我嘗試從根目錄運行mvn dependency:tree時,它無法抱怨它無法從artifactory獲取工件。它的確是這件神器並不存在於神器中。它是我編寫的模塊之一,也是我項目中另一個模塊的依賴項。爲什麼mvn dependency:tree在它應該認識到這是第一方模塊時在artifactory中搜索此模塊? 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] mvn依賴關係:樹試圖從artifactory時,它不應該

這是我的情況下,其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> 
+1

你可以添加你'pom.xml',也許你的'settings.xml'到你的文章?如果可以查看這些文件,它會使您更容易幫助您。 –

+0

我的猜測是'mvn compile'只需要jar,但'mvn dependency:tree'需要POM文件,但它不在你的本地倉庫中。所以確保你的本地倉庫中有第一方工件的'pom.xml'。 – heenenee

+0

我確實有第一方工件的pom.xml文件。 Otheriwse,mvn包不會能夠構建jar – morpheus

回答

0

'MVN包' 跳過 '驗證' 的Maven週期的哪一階段。

這樣你就可以用'mvn package'取得成功,你永遠不會知道任何'驗證'問題。

+0

我運行mvn驗證。它不抱怨。 – morpheus