Drools 5.4.0.Final 无法在 Java 8 上 运行
Drools 5.4.0.Final Cannot run on Java 8
Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the classpath
当我尝试构建 class 时,我 运行 陷入了上述错误。我正在使用 Drools 5.4.0.Final
并已手动将 ecj-4.5.1.jar
添加到我的构建路径,但它仍然显示:
JDT core not in class path.
我正在使用 Eclipse Mars
、Jdk 1.8
、drools 5.4.0.Final
谁能提出解决方案?
编辑:(已添加 StackTrace)
[echo] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'droolsProcessingFactory' defined in class path resource [com/opr/amt/atm/testConfig.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.att.lpp.fw.drools.factory.DroolsProcessingFactory]: Constructor threw exception; nested exception is org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1105)
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
[echo] at org.springframework.beans.factory.support.AbstractBeanFactory.getObject(AbstractBeanFactory.java:305)
[echo] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
[echo] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
[echo] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
[echo] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
[echo] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.drools.factory.DroolsProcessingFactory]: Constructor threw exception; nested exception is org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
[echo] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
[echo] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)
[echo] Caused by: org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
[echo] at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:313)
[echo] at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:298)
[echo] at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:187)
[echo] at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:165)
[echo] at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:301)
[echo] at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:229)
[echo] at org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl.newKnowledgeBuilder(KnowledgeBuilderFactoryServiceImpl.java:34)
[echo] at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder(KnowledgeBuilderFactory.java:46)
[echo] at com.drools.factory.DroolsProcessingFactory.<init>(DroolsProcessingFactory.java:21)
[echo] at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[echo] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
[echo] Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the classpath
添加ecj-4.5后问题得到解决1.jar。问题是 ecj jar 必须与项目位于相同的 class 路径下。如果 jar 的 class 路径不同,则在库文件夹本身下添加 ecj jar 似乎不起作用。
Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the classpath
当我尝试构建 class 时,我 运行 陷入了上述错误。我正在使用 Drools 5.4.0.Final
并已手动将 ecj-4.5.1.jar
添加到我的构建路径,但它仍然显示:
JDT core not in class path.
我正在使用 Eclipse Mars
、Jdk 1.8
、drools 5.4.0.Final
谁能提出解决方案?
编辑:(已添加 StackTrace)
[echo] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'droolsProcessingFactory' defined in class path resource [com/opr/amt/atm/testConfig.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.att.lpp.fw.drools.factory.DroolsProcessingFactory]: Constructor threw exception; nested exception is org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1105)
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
[echo] at org.springframework.beans.factory.support.AbstractBeanFactory.getObject(AbstractBeanFactory.java:305)
[echo] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
[echo] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
[echo] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
[echo] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
[echo] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.drools.factory.DroolsProcessingFactory]: Constructor threw exception; nested exception is org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
[echo] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
[echo] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
[echo] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)
[echo] Caused by: org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
[echo] at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:313)
[echo] at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:298)
[echo] at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:187)
[echo] at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:165)
[echo] at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:301)
[echo] at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:229)
[echo] at org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl.newKnowledgeBuilder(KnowledgeBuilderFactoryServiceImpl.java:34)
[echo] at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder(KnowledgeBuilderFactory.java:46)
[echo] at com.drools.factory.DroolsProcessingFactory.<init>(DroolsProcessingFactory.java:21)
[echo] at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[echo] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
[echo] Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the classpath
添加ecj-4.5后问题得到解决1.jar。问题是 ecj jar 必须与项目位于相同的 class 路径下。如果 jar 的 class 路径不同,则在库文件夹本身下添加 ecj jar 似乎不起作用。