u010842386
CrYsTaL水结晶
2017-06-28 13:13

proguard混淆后maven打出来的jar包java.lang.VerifyError

  • java
  • maven
  • jar
  • proguard

mavenProject,今天混淆之后mvn deploy的jar包启动报错:

  Exception in thread "main" java.lang.VerifyError: Expecting a stackmap frame at branch target 55
Exception Details:
  Location:
    sophia/foundation/property/symbol/JavaPropertySymbol.<init>(Ljava/lang/Short;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V @44: ifeq
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0000000: 2ab7 002e 2a2b b500 282a 2cb5 0029 2a2d
    0000010: b500 2a2a 1904 b500 2b2a 1905 b500 2c2a
    0000020: 1906 b500 2d12 0b19 06b6 002f 9900 0b2a
    0000030: b200 20b5 0027 b112 0819 06b6 002f 9900
    0000040: 0b2a b200 26b5 0027 b112 0919 06b6 002f
    0000050: 9900 0b2a b200 24b5 0027 b112 0a19 06b6
    0000060: 002f 9900 0b2a b200 25b5 0027 b112 0619
    0000070: 06b6 002f 9900 0b2a b200 23b5 0027 b112
    0000080: 0719 06b6 002f 9900 0b2a b200 22b5 0027
    0000090: b112 0219 06b6 002f 9a00 0d12 0319 06b6
    00000a0: 002f 9900 0b2a b200 21b5 0027 b112 0d19
    00000b0: 06b6 002f 9900 0a2a 1218 b500 27b1 1201
    00000c0: 1906 b600 2f99 000a 2a12 0eb5 0027 b112
    00000d0: 0419 06b6 002f 9900 0a2a 1219 b500 27b1
    00000e0: 120c 1906 b600 2f99 000a 2a12 1ab5 0027
    00000f0: b112 0519 06b6 002f 9900 092a 121b b500
    0000100: 27b1                                   

pom文件配置:

            <plugin>
                <groupId>com.github.wvengen</groupId>
                <artifactId>proguard-maven-plugin</artifactId>
                <version>2.0.7</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>proguard</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <target>1.7</target>
                    <source>1.7</source>
                    <encoding>UTF-8</encoding>
                    <proguardInclude>${basedir}/proguard.conf</proguardInclude>
                    <!--不压缩,不优化,保留jar包directory entry,保留注解 -->
                    <options>
                        <option>-ignorewarnings</option>
                        <option>-dontshrink</option>
                        <option>-dontoptimize</option>
                        <option>-dontskipnonpubliclibraryclasses</option>
                        <option>-dontskipnonpubliclibraryclassmembers</option>
                    </options>
                    <libs>
                        <lib>${java.home}/lib/rt.jar</lib>
                    </libs>
                </configuration>
                <dependencies>
                    <!-- 使用4.9版本来混淆 -->
                    <dependency>
                        <groupId>net.sf.proguard</groupId>
                        <artifactId>proguard-base</artifactId>
                        <version>4.9</version>
                        <scope>runtime</scope>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答

为你推荐

换一换