首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安装阶段之前始终运行proguard-maven-plugin

在安装阶段之前始终运行proguard-maven-plugin
EN

Stack Overflow用户
提问于 2016-03-01 12:40:22
回答 1查看 641关注 0票数 1

我要做的是混淆多模块应用程序中的某个包,即在将安装到本地存储库之前使用,这样最后的包将是一个包含模糊化jars的EAR文件。

我试着在造耳过程中把罐子弄糊涂,但都没成功。现在,我想用模糊的罐子来构建耳朵,而不是在构建过程中混淆。

因此,我有以下插件配置:

代码语言:javascript
复制
<plugin>
      <groupId>com.github.wvengen</groupId>
      <artifactId>proguard-maven-plugin</artifactId>
      <version>2.0.11</version>
      <dependencies>
        <dependency>
          <groupId>net.sf.proguard</groupId>
          <artifactId>proguard-base</artifactId>
          <version>${version.proguard}</version>
        </dependency>
      </dependencies>
      <executions>
        <execution>
          <phase>process-classes</phase>
          <goals>
            <goal>proguard</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        ...
      </configuration>
</plugin>

所以我有两个问题:

  1. Progruard总是在安装阶段的之后运行,这样EAR构建总是得到没有混淆的jars。
  2. 我总是必须在maven命令中添加proguard:proguard,这当然会在多模块项目中失败,其中有些模块不需要混淆。

所以我的问题是:

  1. 在安装软件包之前,我如何混淆它?
  2. 在不将<phase>:<goal>添加到maven调用的情况下,如何使这种插件在默认情况下运行?

Thnx。

EN

回答 1

Stack Overflow用户

发布于 2016-03-01 12:58:34

看来,这个程序保护插件要工作,就需要JAR文件。也许您可以通过将proguard插件的proguard目标附加到默认Maven构建生命周期的package阶段(而不是process-classes阶段)来实现这一点,就像建议的这里是Alexey Shmalko一样。我不清楚您是否在使用maven-shade-plugin,但是如果您正在使用,那么将您在pom.xml中的程序保护插件配置放在maven-shade-plugin的后面(这是因为这两个插件都附加到了同一个阶段:package)。

我的期望是,既然package阶段是在install阶段之前实现的,那么它应该会给您带来您想要的效果。

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

https://stackoverflow.com/questions/35723202

复制
相关文章

相似问题

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