首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Maven和ProGuard混淆webapp应用程序

如何使用Maven和ProGuard混淆webapp应用程序
EN

Stack Overflow用户
提问于 2010-12-23 07:34:35
回答 1查看 9.8K关注 0票数 6

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

首先,我试图在编译阶段混淆所有类,但随后在预编译JSP时遇到了问题。我找到了一些定义包阶段的示例。但在这种情况下,我不知道如何寻址我的JAR文件,它已经打包到WAR中了。最后,我尝试简单地将我的WAR设置为mywebapp.war。但这也不起作用。我遗漏了什么?

代码语言:javascript
复制
        <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>

你有什么提示和例子来完成这件事吗?

非常感谢!大卫

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-23 22:52:05

请看一下可用的Maven lifecycles。具体地说就是默认生命周期。你可能会遇到的问题是,Maven可以保证某些插件,如jar和war插件,但其他插件,如您的proguard插件,它可能不能。

我认为如果您将执行阶段从package更改为prepare-package,那么应该先对JSP文件进行模糊处理,然后再将其打包到JAR文件和WAR文件中。并且该阶段不应该干扰您可能拥有的任何类的编译。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4514681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档