2017-09-28 72 views
1

我現在爲我混帳回購協議文件我已經創建,它是具有的pom.xml瓶當除了罐子在混帳回購協議導入來自MVN回購依賴

<project 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/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <groupId>com.acc.ar</groupId> 
     <artifactId>ar-anal-plat</artifactId> 
     <version>1.6.0-RC-SNAPSHOT</version> 
    </parent> 
    <artifactId>gr-anal-app</artifactId> 

    <dependencies> 
     <dependency> 
      <groupId>com.acc.ar</groupId> 
      <artifactId>ar-anal-core</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.acc.ar</groupId> 
      <artifactId>ar-anal-core-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
</project> 

我想要導入的額外的jar來自mvn repo的圖框具有如下依賴關係:
https://mvnrepository.com/artifact/graphframes/graphframes/0.5.0-spark2.1-s_2.11

我必須在pom文件中做出什麼改變?

回答

1

有在行家3種類型的存儲庫:在本地系統上的位置,其被用於從中央或遠程存儲庫下載的罐子存儲在所述第一時間和從第二:

1)本地資源庫如果不存在,則時間繼續依賴關係首先在本地回購中搜索,然後轉到中央回購:它的位置需要在maven的setting.xml文件中提及。

2)中央存儲庫:它是所有項目相關的依賴關係的集中式發佈,它的位置需要在setting.xml文件中提供。 我希望你已經在setting.xml文件中提到了「git repo」。

3)遠程存儲庫:如果在本地或中央repo中不存在任何依賴項,則可以在pom.xml文件中提供自定義位置。所以,首先它會查看本地回購,如果不存在,那麼中央回購和遠程回購。

<repositories> 
    <repository> 
    <id>companyname.lib1</id> 
    <url>http://download.companyname.org/maven2/lib1</url> 
    </repository> 
    <repository> 
    <id>companyname.lib2</id> 
    <url>http://download.companyname.org/maven2/lib2</url> 
    </repository> 

使用該在你的情況,我想你問題應該得到解決。

搜索順序:

Step 1 − Search dependency in local repository, if not found, move to step 2 else perform the further processing. 

Step 2 − Search dependency in central repository, if not found and remote repository/repositories is/are mentioned then move to step 4. Else it is downloaded to local repository for future reference. 

Step 3 − If a remote repository has not been mentioned, Maven simply stops the processing and throws error (Unable to find dependency). 

Step 4 − Search dependency in remote repository or repositories, if found then it is downloaded to local repository for future reference. Otherwise, Maven stops processing and throws error (Unable to find dependency). 
+0

它不是在中央存儲庫中搜索,並從混帳repo.Hence搜索給你在哪裏提到的git倉庫錯誤 –

+0

是放棄? – Punit

+0

正如我在文章中已經提到的那樣:1)在你的settings.xml文件中提供git repo(我希望它已經提供了,這就是爲什麼你能夠下載這些依賴關係)。 2)在您的pom中提供圖框依賴關係,並在存儲庫標記內提供您的mvn repo位置。 – Punit

0

的依賴關係中封鎖你需要插入如下:

<!-- https://mvnrepository.com/artifact/graphframes/graphframes --> 
    <dependency> 
     <groupId>graphframes</groupId> 
     <artifactId>graphframes</artifactId> 
     <version>0.5.0-spark2.1-s_2.11</version> 
    </dependency> 

,然後最有可能刷新IDE /進口變化的項目。