1. When debug web application in JDeveloper(Studio Edition Version 11.1.1.3.0), it may throw exception:
java.lang.IllegalArgumentException: Invalid JNI signature character ';'
at com.sun.tools.jdi.JNITypeParser.nextTypeName(JNITypeParser.java:218) at com.sun.tools.jdi.JNITypeParser.typeNameList(JNITypeParser.java:122) at com.sun.tools.jdi.JNITypeParser.typeName(JNITypeParser.java:67) at com.sun.tools.jdi.TypeImpl.name(TypeImpl.java:26) at com.sun.tools.jdi.ReferenceTypeImpl.compareTo(ReferenceTypeImpl.java:132) at com.sun.tools.jdi.ReferenceTypeImpl.compareTo(ReferenceTypeImpl.java:15) at java.util.TreeMap.put(TreeMap.java:545) at java.util.TreeSet.add(TreeSet.java:238) at com.sun.tools.jdi.VirtualMachineImpl.addReferenceType(VirtualMachineImpl.java:764) at com.sun.tools.jdi.VirtualMachineImpl.referenceType(VirtualMachineImpl.java:880) at com.sun.tools.jdi.EventSetImpl$ClassPrepareEventImpl.<init>(EventSetImpl.java:351) at com.sun.tools.jdi.EventSetImpl.createEvent(EventSetImpl.java:698) at com.sun.tools.jdi.EventSetImpl.build(EventSetImpl.java:610) at com.sun.tools.jdi.EventQueueImpl.removeUnfiltered(EventQueueImpl.java:193) at com.sun.tools.jdi.EventQueueImpl.remove(EventQueueImpl.java:78) at com.sun.tools.jdi.EventQueueImpl.remove(EventQueueImpl.java:64)
Solution:
add: -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true to JVM parameter.
Steps:
1. in jdeveloper: run ->choose Active Run Configuration -> Manage Run Configuration
2. select <Default> and click <Edit...> button
3. add -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true to <Java Options>
4. re-debug your web application