gpt4 book ai didi

web-applications - 如何使用 Maven 和 ProGuard 混淆 webapp

转载 作者:行者123 更新时间:2023-12-04 15:04:14 28 4
gpt4 key购买 nike

我使用 Maven 和 maven-war-plugin 来构建我的 WAR。所有 JSP 都使用 jspc-maven-plugin 预编译,所有类都放入 JAR (WEB-INF/lib)。到目前为止一切正常。现在我尝试配置 proguard-maven-plugin 来混淆我的代码。

首先,我试图在编译阶段混淆所有类,但随后在预编译 JSP 时遇到了麻烦。我发现了一些定义包阶段的例子。但在这种情况下,我不知道如何处理我的 JAR 文件,该文件已经打包到 WAR 中。最后,我尝试简单地将我的 WAR 设置为 mywebapp.war 。但这也行不通。我错过了什么?

        <plugin>
<groupId>com.pyx4me</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<obfuscate>true</obfuscate>
<includeDependency>false</includeDependency>
<injar>${project.artifactId}-v${project.version}.war</injar>
<outjar>${project.artifactId}-v${project.version}-obf.war</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<maxMemory>256m</maxMemory>
<libs>
<!-- Java Runtime -->
<lib>${java.home}/../Classes/classes.jar</lib>
<lib>${java.home}/../Classes/jce.jar</lib>
</libs>
<options>
<option>-allowaccessmodification</option>
<option>-dontskipnonpubliclibraryclasses</option>
<option>-dontskipnonpubliclibraryclassmembers</option>
</options>
</configuration>
</plugin>

你有什么提示,例子来完成这项工作吗?

非常感谢!
大卫

最佳答案

看看Maven lifecycles可用的。特别是默认生命周期。您可能遇到的问题是 Maven 可以保证某些插件,例如 jar 和 war 插件,但其他插件,例如您的 proguard 插件,则可能不会。

我想如果您将执行阶段从 package 更改为至 prepare-package ,这应该在将 JSP 文件打包到 JAR 文件并随后打包到 WAR 文件之前对其进行混淆。该阶段不应干扰您可能拥有的任何类的编译。

关于web-applications - 如何使用 Maven 和 ProGuard 混淆 webapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4514681/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com