混淆代码时如何使用proguard-maven-plugin过滤所有maven依赖?

特尔比什

我在maven的pom.xml中写了需要的maven依赖,现在添加proguard-maven-plugin对代码进行混淆,希望不要混淆pom.xml中写的依赖

该项目依赖于很多 Maven jar。有没有直接过滤所有maven jar的配置方法?

如何修改 pom.xml 或 proguard.cfg?


我的 pom.xml 的一部分

依赖:

<dependencies>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>${spring-data-redis-version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>${commons-pool2-version}</version>
        </dependency>
</dependencies>

插入:

                <plugin>
                    <dependencies>
                        <dependency>
                            <groupId>net.sf.proguard</groupId>
                            <artifactId>proguard-base</artifactId>
                            <version>6.0.2</version>
                            <scope>runtime</scope>
                        </dependency>
                    </dependencies>
                    <groupId>com.github.wvengen</groupId>
                    <artifactId>proguard-maven-plugin</artifactId>
                    <version>2.0.14</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>proguard</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <attach>true</attach>
                        <attachArtifactClassifier>pg</attachArtifactClassifier>
                        <injar>original-${project.build.finalName}.jar</injar>
                        <outjar>original-${project.build.finalName}-pg.jar</outjar>
                        <obfuscate>true</obfuscate>
                        <proguardInclude>../proguard.cfg</proguardInclude>
                    </configuration>
                </plugin>

混淆代码时如何过滤这两个依赖项?

特尔比什

我最后在配置文件中添加了以下参数解决了问题

-keep interface !com.kdgz.monitor.** {*;}
-keep class !com.kdgz.monitor.** {*;}

我不知道这是否是标准解决方案,但它确实解决了我的问题。还有一些其他的小问题。查的方法原理没看懂,但是可以解决问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在构建“ Maven插件”软件包时如何使用Proguard混淆技术?

如何强制Maven下载所有插件依赖项?

有没有一种方法可以在使用maven-jlink-plugin时添加maven依赖关系?

如何使maven-surefire-plugin重用创建的线程来执行所有Maven模块中的所有测试

如何使用所有依赖项为新的chromedriver / selenium更新Maven项目

如何生成具有所有Maven依赖项的可执行jar文件?

如何从具有所有依赖性的命令行编译Maven项目?

maven-shade-plugin:排除依赖及其所有传递依赖

使用Javadocs的Maven依赖

Maven-如何为休眠添加所有必需的依赖项?

如何解决Maven插件中所有模块之间的依赖关系?

如何检查是否已为Java 6编译了所有Maven依赖项

如何生成一个Maven项目的所有模块之间的依赖关系图?

如何过滤Maven中依赖项提供的资源?

如何使ProGuard Maven插件使用最新的ProGuard版本?

Maven预下载所有依赖项

Maven / Docker:缓存所有依赖项

我如何在本地运行具有依赖项的代码,并在使用Maven创建Jar时排除它们

使用Maven Maven-Mule-REST-Plugin

Maven:如何管理测试代码模块依赖

使用maven-resources-plugin进行过滤时,如何停止反斜杠转义?

如何使用Maven生成代码并将其打包而没有依赖关系?

如何使用摇篮Proguard的插件作为Maven仓库的依赖?(如果没有引用本地文件夹。)

使用maven-jaxb2-plugin生成Java源代码时,如何启用集合的setter?

如何理解Maven依赖树

使用Maven进行依赖管理

使用Maven检测循环依赖

使用依赖关系构建Maven

使用Maven复制依赖项