Hi, I am developing a JSF+EJB3.0 application using Jdeveloper 10.1.3.3 and JBoss4.2.1. JDK 1.5 is being used with JBoss as well as JDev.
On Deploying my jar file into the server/default/deploy I get the following exception. java.lang.VerifyError: Incompatible object argument for function call
What might have been the reason for this???
I also came to know that this is an unremoved bug in the JDK 1.5 & that it can be by-passed by passing the -noverify parameter to the JVM. IF so how can we pass a parameter to the JVM while deploying the .jar file???
With JBoss 5, JDK 1.5.0_10, we were facing similar issue with our EAR application. While calling a Remote API from a Portal application, it throws following Error:
java.lang.VerifyError: (class: <some class name>,
method: doResume signature: ()V) Incompatible argument to function
This error was observed only when we enable separate classloader for the EAR application, by using following jboss-app.xml file:
<?xml version="1.0" encoding="UTF-8"?>
We found that there were two issues involved:
1. One particular class (our own class) was present in System classpath as well as within the EAR file. Once we removed this class from EAR file and just kept one copy of it with System classpath, things worked fine.
2. The default class loading behaviour with JBoss is parent-last, which is good for Web applications but not for EAR applications. Thus for our EAR application, we changed jboss-app.xml as follows: