所以我正在使用Proguard插件来混淆我的一个罐子,然后再将它部署到Maven。我的目标是只将混淆的jar部署到Maven。
目前我注意到部署了两个罐子,myJar.jar和myJar-small.jar(来自proguard的混淆)。我已经确认我的Nexus索引在部署后包含它们和一个pom。问题是,当我将myJar作为maven依赖项添加到另一个项目时,未经模糊处理的jar被拉入项目,而不是混淆的jar。
是否有办法只上传混淆的jar或指定应该将哪个jar拉入其他项目?
我查看过Proguard选项here,但找不到太多帮助。
答案 0 :(得分:3)
为了您自己的使用,在定义依赖项时,请添加值为small的分类器标记。
<dependency>
<groupId>myGroup</groupId>
<artifactId>myJar</artifactId>
<scope>test</scope>
<classifier>small</classifier> <!-- <<<<<< like this <<<<<< -->
</dependency>
对于发布,您可以使用新的分类器手动部署工件,如下所示:
http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html
答案 1 :(得分:2)
我假设您使用Maven ProGaurd插件(http://pyx4me.com/pyx4me-maven-plugins/proguard-maven-plugin)。
如果将attach
参数保留为其默认false
值并且未为outjar
设置任何内容,则原始工件将被模糊处理的工件覆盖。因此,只会部署模糊版本。