0 Replies Latest reply on Sep 4, 2013 11:39 PM by surendrand001

    java.lang.IllegalAccessError: Jboss 7

    surendrand001 Newbie



      I am getting IllegalAccessError when trying to access a class on different ejb jar with same package.


      My Project structure is as follows





      |__FrameWork.jar (EJB)

      |__FrameWorkData.jar (Java)

      |__ShoppingWeb.war (Web)


      com.client.fw.ValidationController (@Stateless) - Framework.jar

      com.client.fw.UserDataDto - FrameworkData.jar


      I am trying to access a protected method in UserDataDto  from ValidationController


      When I access I am getting exception as follows


      Caused by: java.lang.IllegalAccessError: tried to access method com.client.fw.UserDataDto.setUserName(Ljava/lang/String;)V from class com.client.fw.ValidationController

          at com.client.fw.ValidationController.validateLogin(ValidationController.java:18) [Framework.jar:]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_17]

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_17]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_17]

          at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_17]



      I understand that jboss 7 uses different classloaders for loading my jar files. But also stated <ear-subdeployments-isolated>false</ear-subdeployments-isolated> should allow my classes in different jars to see each other.


      I my case classes are able to see each other but not able to access the protected method in UserDataDto. (this EAR structure was working in eap 4.3)


      How do I resolve this issue. I need to make com.client.fw.ValidationController (in Framework.jar) to access protected methods in com.client.fw.UserDataDto(FrameworkData)


      Note: Attached my complete log file and workspace files