0

Getting below error while deploying application in liberty server. It seems drools compatibility issues with java 1.8.I cannot change my drools / mvel jar version since it requires significant change in drools. In one of the forum , i have read to use updated ecj version jar So I have updated ecj jar to 4.5.1 version but even though getting the error .This solution works in tomcat and WAS Server without any issues with java 1.8 migration

Caused by: java.lang.VerifyError: (class: ASMAccessorImpl_7258891721511957152780, method: getKnownEgressType signature: ()Ljava/lang/Class;) Illegal type in constant pool.

Can anyone please let us know what need to do for solving the above error

ADyson
  • 57,178
  • 14
  • 51
  • 63
Vasanth
  • 474
  • 2
  • 9
  • 31
  • If you use java 1.7 does the problem occur? After replacing the ecj jar, did you start Liberty with the --clean to clear class caches? Turning on verbose class loading in the jvm may point to the offending class, see the section about the jvm.options file in IBM KnowledgeCenter topic at https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_admin_customvars.html – F Rowe Nov 29 '17 at 13:07

1 Answers1

1

Normally I've seen this problem occur when using .class files compiled with one JDK and running with another (e.g. compiled w/ IBM JDK 7 and running with Oracle JDK 8).

To work around the VerifyError you can add -noverify to your JVM_ARGS (via jvm.options).

For more detailed analysis it would be helpful to know:

  • the complete stack trace of the error
  • what JDK you are running with
  • the version of WAS Liberty you are using
Andy Guibert
  • 41,446
  • 8
  • 38
  • 61