maven持久添加jar到本地项目

时间:2012-11-28 22:01:28

标签: git maven configuration include local

我还有maven项目配置的另一个问题。我必须在maven项目中包含一个外部.jar文件,这也是一个git项目,我希望它们都在远程git repo中。我有逐项列出jar是另一个maven项目的输出(https://github.com/perwendel/spark的克隆)但我不知道这是否真的很重要。目前我试图使用插件,确切

<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>

然后我用它的pom.xml和../src/main/resources/来推送主maven项目来完成它,但是有一个项目与我当地的maven repo有关。事实上当我git-clone由于以下原因,maven构建失败的另一个位置的树

...

火花的POM:spark:jar:缺少0.9.9.5,没有可用的依赖信息

...

...

找不到spark:spark:jar:http://repo.maven.apache.org/maven2中的0.9.9.5被缓存#在本地存储库中,在#central的更新间隔过去或强制更新之前,不会重新尝试解析 - &gt; [帮助1]

我不是真的热衷于maven,我错过了什么?错误的插件?谢谢

1 个答案:

答案 0 :(得分:0)

在我看来,你不明白Maven的目的。 Maven的目的是定义项目之间的依赖关系。 在您使用spark的情况下,您只需要将依赖项放在您的pom中,如上所述:

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

这里的问题是,正在开发火花的人并没有走进Maven Central。 你只需要克隆它们的git存储库并执行

  mvn install

之后,此版本的工件可用于您的项目。解决这些问题的方法是设置存储库管理器(Nexus,Artifactory,Archiva)并将此类工件部署到此存储库中。

您拥有的消息意味着您正在尝试使用Maven中心不可用的依赖项。解决方案是如上所述进行mvn安装,但在删除目录 $ {HOME} /.m2 / repository / spark 之前。