2012-12-03 78 views
2

我是新來的maven。我仍然沒有把握它的概念。maven知識庫

例如我正在查找com.extjs:gxt:jar:2.2.5或org.syslog4j:syslog4j:jar:0.9.46。我無法在任何回購中找到它們。然而,他們看起來很常見的軟件

這是否意味着我必須手動下載它們?它不是打敗了maven的整個想法嗎?

我在哪裏可以找到一個好的存儲庫,它將包含所有這些工件,以便我不需要手動下載罐子?

使用maven當我在做什麼錯了,這絕對似乎沒有要走的路...

回答

3

你沒有做錯什麼。問題在於這些工件在maven central repository中不存在。默認情況下,這是唯一的存儲庫maven將從中下載。您可以添加額外的存儲庫(請參閱maven文檔)以配置未鏡像到中央存儲庫的存儲庫。

+0

因此,在上述兩個工件的情況下,我要添加哪個存儲庫? – shkra19

+0

您應該創建自己的公司回購(例如,嘗試使用http://www.sonatype.org/nexus/)。 –

0

正如@Michael所說,你沒有做錯什麼。

默認的Maven中央存儲庫不會在地球上提供所有可能的工件。

通常你可以解決它雙向:

1)您使用的神器可以由一些組織,他們提供自己的倉庫來存儲那些神器來提供。告訴Maven查找這些存儲庫,以便Maven可以檢索相應的工件。

2)獲取JAR等,並在您當地的環境。

有對上述工作最常用的兩種方法:

A)有一個「局部」 Maven倉庫/代理資訊(例如Nexus,Artifactory的),讓你的Maven的指向這個倉庫。添加新的遠程倉庫(1)主要通過在本地Maven倉庫中添加額外的倉庫代理來完成。手動處理第三方工件(2)是通過將JAR部署到本地倉庫來完成的。 B)全部由本地Maven在本地完成。通過更新settings.xml(或您的項目POM.xml)來添加新的遠程回購(1)。手動處理第三方工件(2)通過將第三方JAR安裝到本地存儲庫完成。

0

可以使用

<dependency> 
     <groupId>com.extjs</groupId> 
     <artifactId>gxt</artifactId> 
     <version>2.3.0-gwt22</version> 
    </dependency>