【发布时间】:2024-05-04 01:50:01
【问题描述】:
我已将 Drools Eclipse 插件 org.drools.eclipse 7.36.0.Final 安装到运行 Oracle JDK 1.8.0_92 的 Eclipse 2020_03 中。我已经下载并解压了drools-distribution-7.36.0.Final,并在Eclipse Preferences 中将binaries/ 目录添加为Drools > Installed Drools Runtimes。
只要我使用任何 Java 1.5+ 功能(泛型、foreach 循环、闭包……),我就会在规则编辑器中收到错误标记,指出存在语法错误,并且这些功能需要源级别 1.5(闭包为 1.8 )。
我的 .drl 文件和项目本身似乎都很好,因为我可以通过 maven 编译和运行而不会出错。所以这不是一个阻塞问题,但很烦人的是我似乎无法在我的 IDE 中对 .drl 文件进行语法检查。
我已经搜索了互联网并尝试了各种东西:
- 我已将项目和工作区中的 JDT 源级别设置为 1.8
- 我在属性中检查了已安装的 JRE,只列出了一个 JDK 1.8.0_92
- 我在
/src/main/resources/META-INF/中创建了一个带有此内容的kmodule.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
<configuration>
<property key="drools.dialect.java.compiler.lnglevel" value="1.8" />
<property key="drools.dialect.java.compiler" value="ECLIPSE" />
<property key="drools.compiler.lnglevel" value="1.8" />
</configuration>
<kbase name="rules">
<ksession name="codegen-rules"/>
</kbase>
</kmodule>
- 我在
/src/main/resources/META-INF/中创建了一个kie.properties.conf文件,内容如下:
drools.dialect.java.compiler.lnglevel=1.8
drools.dialect.java.compiler=ECLIPSE
drools.compiler.lnglevel=1.8
- 我已在我的
eclipse.ini文件的 VM args 部分中添加了属性:
-Ddrools.dialect.java.compiler.lnglevel=1.8
-Ddrools.dialect.java.compiler=ECLIPSE
-Ddrools.compiler.lnglevel=1.8
但所有这些似乎都没有任何效果,它一直给我相同的错误标记。
在检查.drl 文件的语法时,如何告诉规则编辑器我想要启用Java 1.8 源代码级别?
【问题讨论】:
标签: eclipse drools jboss-tools