2012-11-28 81 views
1

我還有另外一個maven項目配置問題。我必須在maven項目中包含一個外部.jar文件,這也是一個git項目,我希望它既可以在遠程混帳repo.I必須逐項的罐子是另一個Maven項目(的https://github.com/perwendel/spark克隆)的輸出,但我不知道,如果這真的matter.Currently我試圖使用插件,恰恰maven持久性將jar添加到本地項目

<plugin> 
<groupId>com.googlecode.addjars-maven-plugin</groupId> 
<artifactId>addjars-maven-plugin</artifactId> 
<version>1.0.2</version> 
<executions> 
    <execution> 
     <goals> 
      <goal>add-jars</goal> 
     </goals> 
     <configuration> 
      <resources> 
       <resource> 
        <directory>../src/main/resources/</directory> 
        <includes> 
         <include>spark-0.9.9.5.jar</include> 
        </includes> 
       </resource> 
      </resources> 
     </configuration> 
    </execution> 
</executions> 
</plugin> 

然後

<dependency> 
    <groupId>spark</groupId> 
    <artifactId>spark</artifactId> 
    <version>0.9.9.5</version> 
</dependency> 

然後我GIT-主推行家工程中的t與它的pom.xml和../src/main/resources/完成,但有項目與我的本地maven repo相關。事實上,當我從另一個位置克隆樹時,maven構建失敗,原因是:

...

火花的POM:火花:罐子:0.9.9.5丟失,可用

沒有依賴信息...

...

失敗找到spark:spark:jar:0.9.9.5在http://repo.maven.apache.org/maven2被緩存#在本地r epository,分辨率將不會被重新嘗試,直到#central的更新間隔已過或更新強制 - > [求助1]

我不是行家都很熱衷於此,我失去了一些錯誤的插件感謝

回答

0

在我看來,你並不瞭解Maven的目的。 Maven的目的是定義項目之間的依賴關係。 你的情況使用火花,你只需要把依賴於你的POM中,你提到的:

<dependency> 
    <groupId>spark</groupId> 
    <artifactId>spark</artifactId> 
    <version>0.9.9.5</version> 
</dependency> 

的這裏的問題是,誰正在開發火花的人沒走一步到Maven的中央。 什麼,你只需要做的就是複製他們的Git倉庫,做

mvn install 

後來這個版本的神器可以爲您的項目。解決這些問題的方法是建立資源庫管理器(Nexus,Artifactory,Archiva)並將這種工件部署到這個資源庫中。

您有消息意味着您正在嘗試使用Maven中心中不可用的依賴項。解決方法是按照上面的描述進行mvn安裝,但在刪除目錄$ {HOME} /。m2/repository/spark之前。

+0

感謝您的答案,但我認爲是脫離主題,我必須在Maven項目中包含一個外部.jar文件,這也是一個git項目,並且我希望它們都在遠程git repo中。它在本地工作(使用我的自定義火花項目構建的主項目),但我希望spark-custom與主項目捆綁在一起,因爲它只是一個我試圖將它捆綁到主Maven項目中的jar。 – user145634

相關問題