程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 初學maven(1)-常見小問題集錦

初學maven(1)-常見小問題集錦

編輯:關於JAVA

初學maven,遇到不少問題,記錄下來,呵呵,依然是備忘兼共享。

一. The pulgin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or valid version could be found

安裝官方標准的安裝方式(http://maven.apache.org/download.html#Installation)安裝完畢,運行mvn --version沒有問題。

然後按照"maven in 5 minutes"(http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html) 的第一個例子,執行

mvnarchetype:create-DgroupId=com.mycompany.app-DartifactId=my-app

結果報錯:

The pulgin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or valid version could be found
   ......

google了一下發現解決方案,原來是網絡配置的問題,如果使用代理上網必須修改maven的配置文件加入相應的代理信息。

打開文件 maven/conf/settings.xml,找到<proxies>,將原來注釋掉的<proxy>打開,修改相應的信息即可。

注意:

1.)<host>iproxy-sh.cn.ao.ericsson.se</host> 這裡不要用"http://"開頭,否則會無法連接

2. ) 如果用戶名、密碼不需要,可以刪除<username><password>,設置為空也行。

二. artifactory私服安裝問題

對於單機來說,maven從遠程倉庫取jar包等資源是完全合理的。但是如果一個team甚至一個公司,每個人的maven都從遠程倉庫取,那麼花在文件下載上的時間就太多了,而且完全沒有必要。因此設置一個開發團隊共享的Maven2的私服就必不可少了。

Maven2的私服,當然首選artifactory。

跑到artifactory的官網,down下來最新的1.30-beta1,安裝非常簡單,windows下一個bat文件直接啟動。之後修改maven配置,加入

<repositories>
   <repository>
     <id>central</id>
     <url>http://localhost:8081/artifactory/repo</url>
     <snapshots>
       <enabled>false</enabled>
     </snapshots>
   </repository>
   <repository>
     <id>snapshots</id>
     <url>http://localhost:8081/artifactory/repo</url>
     <releases>
       <enabled>false</enabled>
     </releases>
   </repository>
</repositories>
<pluginRepositories>
   <pluginRepository>
     <id>central</id>
     <url>http://localhost:8081/artifactory/plugins-releases</url>
     <snapshots>
       <enabled>false</enabled>
     </snapshots>
   </pluginRepository>
   <pluginRepository>
     <id>snapshots</id>
     <url>http://localhost:8081/artifactory/plugins-snapshots</url>
     <releases>
       <enabled>false</enabled>
     </releases>
   </pluginRepository>
</pluginRepositories>

但是發現執行maven命令時,maven完全沒有從私服上取文件,還是到默認的maven官網去取了。反復修改都不行,最後發現問題可能出現在artifactory上:登錄artifactory的控制台後,點Virtual Repositories --》 repo 後直接報錯,頁面拋ArrayIndexOutOfBoundsException!看url是http://localhost:8081/artifactory/repo/,這個不就是上面配置的地址嗎?都拋異常了,讓maven怎麼取文件,找到問題了,雖然莫名其妙,試著刪除後重新安裝還是這個錯誤。暈倒,不清楚哪裡出的問題,更不知該怎麼改。看看版本是beta1,而且下載數量只有幾十,想想可能是新版本的bug。

換成1.2.5final,一切都正常了。

我想應該是artifactory 1.3.0-beta1的bug吧。

三.maven的路徑變量M2_REPO

使用mvn eclipse:eclipse命令生成eclipse project後,在eclipse中impot進來,編譯出錯,原來是maven使用到一個名為“M2_REPO”的路徑變量。

google了一下,eclipse中設置變量M2_REPO的方式是:

Window -> Preferences -> Java -> Build Path -> Classpath Variables,NewName 填寫"M2_REPO",路徑為你的本地的maven類庫地址.

設置後重新編譯順利通過,這樣導入eclipse項目就完成了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved