我有插件依赖的麻烦。
我想使用“proguard-maven-plugin”,但默认情况下这个插件使用proguard 4.3。 Proguard 4.3不支持jdk 7.
要解决我的问题,我只需要使用proguard 4.6+。 Buuut,中央回购的最后一个版本是4.4。我可以从proguard repo手动下载proguard 4.6+,但是如何将它包含在插件中?
我有自己的nexus repo,我把proguard 4.8放在那里。如何从我的仓库加载“proguard-maven-plugin”的依赖?
我在那里写道:http://www.sonatype.com/people/2008/04/how-to-override-a-plugins-dependency-in-maven/,但maven在中央回购中看起来是预测4.8。我怎样才能在我自己的仓库中强制进行maven搜索?
对不起我可怕的英语,我希望你能理解我。
答案 0 :(得分:0)
您必须编辑主文件夹中的文件.m2/settings.xml
(以及运行Maven作业的每个用户的主文件夹)。在那里,您必须将您的Nexus添加为here所述的存储库。基本上配置看起来像这样:
<settings>
...
<mirrors>
<mirror>
<id>mynexus</id>
<name>My Nexus</name>
<url>http://mynexusurl</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
...
</settings>
此外,您必须将Nexus配置为镜像中央存储库。
答案 1 :(得分:0)
也许这也会有所帮助,我不使用它,但这是更改依赖项的配置形式
<plugin>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.4</version>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard</artifactId>
<version>4.6</version>
</dependency>
</dependencies>
</plugin>
也是一个蚂蚁运行的例子
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b2</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</plugin>
还请注意!对于maven2 - 问题解决了maven3 http://jira.codehaus.org/browse/MNG-1323
对于多模块反应器构建插件的依赖关系在第一次使用插件时解决。如果您的依赖项没有在reactor构建中下载但在单个模块中正常工作,那么您可能需要将它包含在早期项目中 - 最简单的方法是添加到共享父级的pluginManagement