2014-11-24 43 views
0

從命令行我可以執行mvn clean install deploy沒有任何額外的配置與maven-3.2.2。所以配置Maven設置毫無疑問。我的私人存儲庫http://maven.medicom.com.sa/maven2/releases可以通過maven訪問,儘管啓用了basic http認證。以下是setting.xml文件的快照。雖然我嘗試了Jenkins Maven插件,但由於basic http身份驗證,無法訪問http://maven.medicom.com.sa/maven2/releases存儲庫。爲什麼Jenkins Maven由於HTTP基本驗證而失敗?

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

    <servers> 
    <server> 
     <id>medicom</id> 
     <configuration> 
      <httpHeaders> 
       <property> 
        <name>Authorization</name> 
        <value>Basic bXE2ZX46bXVkaXMhcB==</value> 
       </property> 
      </httpHeaders> 
     </configuration> 
    </server> 
    <server> 
     <id>medicom.plugins</id> 
     <configuration> 
      <httpHeaders> 
       <property> 
        <name>Authorization</name> 
        <value>Basic bXE2ZX46bXVkaXMhcB==</value> 
       </property> 
      </httpHeaders> 
     </configuration> 
    </server> 
    </servers> 
    <profiles> 
     <profile> 
      <id>medicom.releases</id> 
      <activation> 
       <property> 
       <name>medicom.releases</name> 
       <value>!false</value> 
       </property> 
      </activation> 
      <repositories> 
       <repository> 
        <id>medicom</id> 
        <url>http://maven.medicom.com.sa/maven2/releases</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
       </repository> 
      </repositories> 
      <pluginRepositories> 
       <pluginRepository> 
        <id>medicom.plugins</id> 
        <url>http://maven.medicom.com.sa/maven2/releases</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
       </pluginRepository> 
      </pluginRepositories> 
     </profile> 
    </profiles> 
</settings> 
+0

,你一定詹金斯是使用相同的settings.xml文件當你在本地運行目標時你會這樣做嗎? – Ralf 2014-11-24 15:31:46

回答

0

詹金斯maven插件經由服務器配置無法basic http authentication。所以你必須跳過Jenkins CI的這種類型的配置。

<configuration> 
    <httpHeaders> 
     <property> 
      <name>Authorization</name> 
      <value>Basic bXE2ZX46bXVkaXMhcB==</value> 
     </property> 
    </httpHeaders> 
</configuration> 

相反,你應該使用的用戶名和密碼:

<username>maven</username> 
<password>password</password> 

如下注釋行必須拆除:

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

    <servers> 
    <server> 
     <id>medicom</id> 
     <!-- <configuration> 
      <httpHeaders> 
       <property> 
        <name>Authorization</name> 
        <value>Basic bXE2ZX46bXVkaXMhcB==</value> 
       </property> 
      </httpHeaders> 
     </configuration> --> 
     <username>maven</username> 
     <password>password</password> 
    </server> 
    <server> 
     <id>medicom.plugins</id> 
     <!-- <configuration> 
      <httpHeaders> 
       <property> 
        <name>Authorization</name> 
        <value>Basic bXE2ZX46bXVkaXMhcB==</value> 
       </property> 
      </httpHeaders> 
     </configuration> --> 
     <username>maven</username> 
     <password>password</password> 
    </server> 
    </servers> 
    <profiles> 
     <profile> 
      <id>medicom.releases</id> 
      <activation> 
       <property> 
       <name>medicom.releases</name> 
       <value>!false</value> 
       </property> 
      </activation> 
      <repositories> 
       <repository> 
        <id>medicom</id> 
        <url>http://maven.medicom.com.sa/maven2/releases</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
       </repository> 
      </repositories> 
      <pluginRepositories> 
       <pluginRepository> 
        <id>medicom.plugins</id> 
        <url>http://maven.medicom.com.sa/maven2/releases</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
       </pluginRepository> 
      </pluginRepositories> 
     </profile> 
    </profiles> 
</settings> 
相關問題