我遇到了 TomEE 的“javaee-api-6.0-5.jar”使用的“javax.el.CompositeELResolver”的问题。
版本信息和 svn-repository 在这里:
http
://mvnrepository.com/artifact/org.apache.geronimo.specs/geronimo-el_2.2_spec/1.0.2 CompositeELResolver 类的来源在这里:http:
//svn.apache.org /viewvc/geronimo/specs/tags/geronimo-el_2.2_spec-1.0.2/src/main/java/javax/el/CompositeELResolver.java?view=log
在“调用”方法中,我得到一个空指针异常,因为 for 循环遍历整个解析器数组,该数组具有值为“null”的字段。我想这是无法避免的,因为“add”方法会在需要时将数组大小加倍,但不会初始化任何值。在使用解析器之前,不应该在“invoke”方法中检查解析器是否为“null”吗?
为了比较,我用另一个 javax.el 实现运行了我的应用程序,它工作正常:
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>
我的假设错了吗?
我在这里发现了一个类似的问题: https ://issues.apache.org/bugzilla/show_bug.cgi?id=50293
多线程是否可能导致我的问题?