我在应用服务器上部署的同一个.ear中有两个不同的存档。一个是.war,一个是.jar。我在两个档案中都有相同的包名称
in .jar archive>> com.me.dummy.MyClass
in .war archive>> com.me.dummy.CLientClass
在com.me.dummy.MyClass
中,我有一个名为proctectedMethod()
的受保护方法。在com.me.dummy.CLientClass
我调用com.me.dummy.MyClass.proctectedMethod()
。
这不会导致任何编译时间问题,但在运行时会抛出accessError
java.lang.IllegalAccessError
为什么这只会在运行时抛出IllegalAccessError
?
由于
答案 0 :(得分:1)
我认为这是因为您的应用程序服务器使用单独的类加载器加载Web应用程序。您应该查阅您的应用服务器文档,了解如何使它为整个企业应用程序使用相同的类加载器。