2012-11-28 50 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

相关问题