我有一些第三方jars不在存储库中,我需要在构建时安装它们。我尝试使用ant插件将生成的jar和pom从我的projects/lib文件夹复制到本地存储库。
我的src/main/lib目录包含以下文件夹结构com/oracle/ojdbc14/10.2/ojdbc.jar,ojdbc.pom
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy todir="${settings.localRepository}" >
<fileset dir="${basedir}/src/main/lib/" includes="**"/>
</copy>
</tasks>
</configuration>
</execution>
</executions>
</plugin> 但是当我运行mvn install时,它会失败,并显示以下msg
Failure to find com.oracle:ojdbc14:jar:10.2.0.3.0为什么在对依赖项进行任何检查之前,就运行来自ant (验证阶段)的copy命令
发布于 2012-04-12 04:49:33
获取存储库管理器并在那里安装工件。其他的一切都是丑陋的黑客攻击,比安装和使用存储库管理器更具侵入性和麻烦。看看Nexus,Artifactory或Archiva,并从使用它中获得所有好处,如改进的构建性能,易于使用第三方库,以及在内部共享工件的能力。
发布于 2012-04-12 04:05:25
抱歉,但这太糟糕了。如果你真的不能把这些第三方的东西部署到某个内部的或者私有的Maven中去,我目前所发现的最好的方法就是将install:install-file 与所有这些jars一起使用。我们为此创建了两个shell脚本(用于Windows和Linux),并通过SCM在bootstrap目录(或类似于下面的目录)中共享它们。请注意,每个新开发人员都必须这样做一次,因为这些工件随后可以在本地Maven存储库中解析。
有关install:install-file goal:http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html的详细信息,请查看以下内容
https://stackoverflow.com/questions/10112791
复制相似问题