Java方法范围问题

标签 java jakarta-ee compiler-construction scope

我在应用程序服务器上部署的同一 .ear 中有两个不同的存档。一种是 .war,一种是 .jar。我在两个文件中具有相同的包名称

in .jar archive>> com.me.dummy.MyClass
in .war archive>> com.me.dummy.CLientClass

com.me.dummy.MyClass 中,我有一个名为 proctectedMethod() 的 protected 方法。在 com.me.dummy.CLientClass 中,我调用 com.me.dummy.MyClass.proctectedMethod() 。

这不会导致任何编译时问题,但在运行时它会抛出 accessError

java.lang.IllegalAccessError

为什么这只在运行时抛出IllegalAccessError

谢谢

最佳答案

我相信发生这种情况是因为您的应用程序服务器使用单独的类加载器加载 Web 应用程序。您应该查阅应用程序服务器文档,了解如何使其对整个企业应用程序使用相同的类加载器。

关于Java方法范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21752766/

相关文章:

java - 如何测量 Apache Storm 中线程之间的运行时间?

c - 如何使用 OpenSSL 编译 .c 文件包括?

java - Scala反射: how do I define a case class at runtime and then reference to it?

c++ - C++模板方法定义在类中不匹配

java - 将 int 值移位零的目的是什么?

java - 将字段名称作为参数传递给 Java 中同一类中的方法

java - 对 cxf wsdl2java 使用 xmlbeans 绑定(bind)

java - 上传的文本文件的编码不正确

java.lang.NoSuchMethodError : fr. la.juserright.metier.Ressource.<init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V

java - 尝试将 EJB 注入(inject)另一个组件时出现 "Unsatisfied dependencies"和 UnsatisfiedResolutionException