Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 混合maven Shade和Proguard_Java_Maven_Proguard_Maven Shade Plugin - Fatal编程技术网

Java 混合maven Shade和Proguard

Java 混合maven Shade和Proguard,java,maven,proguard,maven-shade-plugin,Java,Maven,Proguard,Maven Shade Plugin,我正在尝试用Maven Shade和Proguard制作一个复杂的构建。问题是,我只想混淆我的代码和一些相关的库(在pom中声明为依赖项),更多的库出现在pom.xml中,但我不想用Proguard处理它们 我目前的做法如下: 使用maven shade生成一个Jar,其中包含我想在代码中混淆的依赖项。(执行绑定到包阶段) 使用Proguard混淆代码。(执行绑定到包阶段) 通过第二次执行maven shade将缺少的依赖项(Storm等)添加到最终的Jar中。(执行绑定到验证阶段) 问题是在第

我正在尝试用Maven Shade和Proguard制作一个复杂的构建。问题是,我只想混淆我的代码和一些相关的库(在pom中声明为依赖项),更多的库出现在
pom.xml
中,但我不想用Proguard处理它们

我目前的做法如下:

  • 使用
    maven shade
    生成一个Jar,其中包含我想在代码中混淆的依赖项。(
    执行绑定到包阶段
  • 使用Proguard混淆代码。(
    执行绑定到包阶段
  • 通过第二次执行
    maven shade
    将缺少的依赖项(Storm等)添加到最终的Jar中。(
    执行绑定到验证阶段
  • 问题是在第三步(第二步)中,我在最后一个Jar中得到了模糊的包和未模糊的包

    此外,我还尝试在第一步中通过
    shade
    重命名包,但同样的情况也发生了,未模糊的代码以及模糊的重命名后的包都存在于胖罐子中

    我尝试的另一件事是排除第二个
    阴影中未模糊的包,但是我没有从前面的步骤中获得任何代码,只有外部库


    有什么需要考虑的提示或不同的方法吗?

    只是通过Proguard配置解决了这个问题,只在混淆阶段包括那些我需要混淆的库(使用正则表达式进行
    选择)

    例如:

    `-继续上课!com.xxx.*{**}!com.yyy.*{**}


    谢谢

    我可以看看pom.xml吗?嗨,谢谢你的兴趣。今天早上刚通过Proguard配置解决。然而,我认为我需要重新研究
    Shade
    plugin是如何工作的,我在使用maven-proguard插件和多模块项目时遇到了spring和Shade的许多问题。祝你好运。