简体   繁体   中英

Proguard - Can't find common super class exception for apache cxf / java.lang.IllegalArgumentException

When i try to build with proguard i got exception like this

 Class       = [org/apache/cxf/io/CachedOutputStream]
  Class       = [org/apache/cxf/io/CachedWriter]
  Method      = [getInputStream()Ljava/io/InputStream;]
  Method      = [getReader()Ljava/io/Reader;]
  Exception   = [java.lang.IllegalArgumentException] (Can't find common super class of [org/apache/cxf/io/CachedOutputStream$TransferableFileInputStream] (with 4 known super classes) and [org/apache/cxf/io/CachedOutputStream$1] (with 1 known super classes))

I'm using -Java 8. -Gradle 6.7 -Proguard 6.2.2

I was search about this exception on inte.net and tried so many configs but not worked.I can't pass this exception.I don't know so much proguard so need some help about this exeption.

My proguard.txt

-libraryjars  <java.home>/lib/rt.jar

-printmapping proguard.map

-dontnote
-dontskipnonpubliclibraryclassmembers
-dontskipnonpubliclibraryclasses

-keepattributes SourceFile, LineNumberTable
-keepattributes *Annotation*,EnclosingMethod,Signature
-keepnames public class * {
  public static ** classTag();
  }
-keepclasseswithmembers public class * {
   public static void main(java.lang.String[]);
  }
  
-keepclassmembers class * {
  ** MODULE$;
  } 
-keepclasseswithmembernames,includedescriptorclasses class * {
  native <methods>;
  }  
  
-keepclassmembers,allowoptimization enum * {
  public static **[] values();
  public static ** valueOf(java.lang.String);
  }  
-optimizations !method/inlining/*

-keep class com.fasterxml.jackson.** { *; }
-keep class java.io.** {*;}
-keep class org.everit.json.** { *; }
-keep class org.json.** { *; }
-keep class org.slf4j.** { *; }
-keep class javax.crypto.** { *; }
-keep class org.apache.** { *; }
-keep class org.springframework.** { *; }
-keep class org.pf4j.** { *; }
-keep class org.jboss.** { *; }
-keep class nl.basjes.** { *; }
-keep class kotlin.** { *; }
-keep class com.esotericsoftware.** { *; }
-keep class javax.mail.** { *; }
-keep class com.sun.** { *; }
-keep class org.bouncycastle.** { *; }
-keep class org.eclipse.jetty.** { *; }
-keep class com.jcraft.** { *; }
-keep class com.google.** { *; }
-keep class javax.ejb.** { *; }
-keep class gnu.io.** { *; }
-keep class com.barchart.** { *; }
-keep class com.zaxxer.hikari.** { *; }
-keep class org.codehaus.** { *; }
-keep class groovy.lang.** { *; }
-keep class org.jvnet.** { *; }
-keep class com.typesafe.** { *; }
-keep class org.osgi.** { *; }
-keep class javax.servlet.** { *; }
-keep class org.relaxng.** { *; }
-keep class com.bea.** { *; }
-keep class org.locationtech.** { *; }
-keep class org.mockito.** { *; }
-keep class commonj.work.** { *; }
-keep class javax.transaction.** { *; }
-keep class org.quartz.** { *; }
-keep class org.terracotta.** { *; }
-keep class joptsimple.** { *; }
-keep class javax.xml.** { *; }
-keep class reactor.** { *; }
-keep class org.wildfly.** { *; }
-keep class org.postgresql.** { *; }
-keep class org.tartarus.** { *; }
-keep class org.mozilla.** { *; }
-keep class org.joda.** { *; }
-keep class org.jgroups.** { *; }
-keep class org.elasticsearch.** { *; }
-keep class org.w3.** { *; }
-keep class org.openxmlformats.** { *; }
-keep class org.etsi.** { *; }
-keep class com.microsoft.** { *; }
-keep class org.apache.cxf.io.*$* { *; }

-dontwarn com.fasterxml.jackson.**
-dontwarn org.everit.**
-dontwarn org.json.**
-dontwarn org.slf4j.**
-dontwarn javax.crypto.**
-dontwarn org.springframework.**
-dontwarn org.pf4j.**
-dontwarn com.ihs.tmg.**
-dontwarn org.jboss.**
-dontwarn nl.basjes.**
-dontwarn kotlin.**
-dontwarn com.esotericsoftware.**
-dontwarn javax.mail.**
-dontwarn com.sun.**
-dontwarn org.bouncycastle.**
-dontwarn org.eclipse.jetty.**
-dontwarn com.jcraft.**
-dontwarn com.google.**
-dontwarn javax.ejb.**
-dontwarn gnu.io.**
-dontwarn com.barchart.**
-dontwarn com.zaxxer.hikari.**
-dontwarn org.codehaus.**
-dontwarn groovy.lang.**
-dontwarn org.jvnet.**
-dontwarn com.typesafe.**
-dontwarn org.osgi.**
-dontwarn javax.servlet.**
-dontwarn org.relaxng.**
-dontwarn com.bea.**
-dontwarn org.locationtech.**
-dontwarn org.mockito.**
-dontwarn commonj.work.**
-dontwarn javax.transaction.**
-dontwarn org.quartz.**
-dontwarn org.terracotta.**
-dontwarn joptsimple.**
-dontwarn javax.xml.**
-dontwarn reactor.**
-dontwarn org.wildfly.**
-dontwarn org.postgresql.**
-dontwarn org.tartarus.**
-dontwarn org.mozilla.**
-dontwarn org.joda.**
-dontwarn org.jgroups.**
-dontwarn org.elasticsearch.**
-dontwarn org.apache.cxf.io.**
-dontwarn org.springframewrok.context.**
-dontwarn java.io.**
-dontwarn org.w3.**
-dontwarn org.openxmlformats.**
-dontwarn com.microsoft.**
-dontwarn org.etsi.**
-dontwarn org.apache.commons.**
-dontwarn org.apache.xmlbeans.**
-dontwarn org.apache.lucene.**
-dontwarn org.apache.neethi.**
-dontwarn org.apache.poi.**
-dontwarn org.apache.tika.**
-dontwarn org.apache.activemq.**
-dontwarn com.mchange.**
-dontwarn io.netty.**
-dontwarn org.apache.xerces.**
-dontwarn org.apache.aries.**
-dontwarn javax.validation.**
-dontwarn org.apache.cxf.staxutils.**
-dontwarn  org.apache.cxf.tools.**
-dontwarn org.apache.cxf.common.**
-dontwarn org.apache.log4j.**
-dontwarn  net.sf.**  
-dontwarn  org.apache.cxf.binding.**
-dontwarn  org.apache.cxf.jaxws.**
-dontwarn  org.apache.cxf.transport.**
-dontwarn  org.apache.cxf.endpoint.**
-dontwarn  org.apache.cxf.io.**

I found the solution finally. Added to proguard.txt this line

-libraryjars  <java.home>/lib/jce.jar

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM