在Wildfly 16.0.0.Final上部署包含drools kie引擎7.20.0.Final的Ear应用程序时,出现了部署失败异常,无法加载sun.reflect.ReflectionFactory类。该应用程序可以在Java 8上很好地部署。
我知道Java 11删除了对sun.reflect.Reflection的支持。流口水依赖吗? Drools文档只说Java要求是Java 1.5,仅此而已。
流口水是否与Java 11兼容?
已解决。。事实证明,从Java 11中删除sun.reflect是一个红鲱鱼。实际的问题出在Wildfly 16上,该模块无法使用。解决方案是按以下方式创建jboss-deployment-structure.xml:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
<deployment>
<dependencies>
<system export="true">
<paths>
<path name="sun/reflect"/>
</paths>
</system>
</dependencies>
</deployment>
</jboss-deployment-structure>
查看此信息:Mockito, Java 9 and java.lang.ClassNotFoundException: sun.reflect.ReflectionFactory