RCP插件与proguard的混淆处理

问题描述 投票:1回答:1

我正在研究插件混淆的问题,一般来说,混淆是有效的(在目标机上我有混淆的jar),但是当我在构建产品时,没有混淆的插件。总的来说,混淆工作是有效的(在target上我有混淆的jar),但是当我在构建product时,没有混淆的插件。当我在代码中添加一些方法时,方法在产品中。我不知道为什么在产品中没有混淆的插件。我使用的是 maven-tycho, p2 和jenkins作为构建者。这是我用maven进行混淆的配置。

<plugin>
    <groupId>com.github.wvengen</groupId>
    <artifactId>proguard-maven-plugin</artifactId>
    <version>2.0.6</version>
    <dependencies>
        <dependency>
            <groupId>net.sf.proguard</groupId>
            <artifactId>proguard-base</artifactId>
            <version>5.2</version>
        </dependency>
    </dependencies>
    <executions>
        <execution>
            <phase>install</phase>
            <goals>
                <goal>proguard</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <proguardVersion>5.2</proguardVersion>
        <options>
            <option>-keep class org.apache.** { *; }</option>
            <option>-keep class org.osgi.** { *; }</option>
            <option>-keep class org.eclipse.** { *; }</option>
            <option>-keep class * extends
                org.eclipse.ui.plugin.AbstractUIPlugin
            </option>
            <option>-keep class * extends org.eclipse.ui.part.ViewPart</option>
            <option>-keep class * implements org.eclipse.ui.INewWizard</option>
            <option>-keep class * implements
                org.eclipse.core.runtime.IPlatformRunnable
            </option>
            <option>-dontshrink</option>
            <option>-dontoptimize</option>
            <option>-dontpreverify</option>
            <option>-obfuscationdictionary keywords</option>
            <option>-classobfuscationdictionary keywords</option>
            <option>-keeppackagenames **view**</option>
        </options>
        <libs>
            <lib>${java.home}/lib/rt.jar</lib>
            <lib>${java.home}/lib/jce.jar</lib>
        </libs>
    </configuration>
</plugin>
java maven jenkins proguard rcp
1个回答
1
投票

也许会对某些人有用,我从以下方面进行了修改 <phase>install</phase> 现在一切正常。tycho jar在安装maven之前被放到了p2仓库中,看起来像这样。

© www.soinside.com 2019 - 2024. All rights reserved.