我在運行drools-core 6.5.0.Final時出現錯誤,並在騾子中使用簡單的彈簧配置。我使用spring 4.3.5.Final和JDK 1.8。我得到一個錯誤 org.mule.module.launcher.DeploymentInitException:NoSuchFieldError:COMPILER_OPT_ALLOW_RESOLVE_INNERCLASSES_WITH_DOTNOTATION 在org.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:205初始化和驗證KieContainer失敗時。請注意,我解壓縮了檔案,檔案中沒有相互衝突的罐子,我只找到了2個Drools特定的罐子,drools-core和drools-decisiontables,都是6.5.0.Final。剩下的依賴關係。POM的唯一擁有所有Spring框架4.3.5.RELEASE和Hibernate 4.3。Drools 6.50使用JDK 1.8時出錯
kieContainer = KieServices.Factory.get().getKieClasspathContainer();
LOG.info(kieContainer.verify().getMessages().toString());
我處理Excel電子表格決策表。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc=
"http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.8.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">
<spring:beans>
<spring:bean id="letter" name="letter" class="org.springframework.core.io.ClassPathResource">
<spring:constructor-arg name="path" value="com/xyz/db-config.xml"/>
</spring:bean>
<spring:bean id="stylusConfiguration" name="stylusConfiguration" class="com.xyz.Talent">
<spring:property name="config">
<spring:map>
<spring:entry key="member" value-ref="letter"/>
</spring:map>
</spring:property>
</spring:bean>
<spring:bean id="builderFactory" name="builderFactory" class="com.xyz.BuilderFactory"
factory-method="newInstance"/>
<spring:bean id="translator" name="translator" class="com.xyz.TranslatorConfigurator">
<spring:property name="factory" ref="builderFactory"/>
<spring:property name="stylus" ref="stylusConfiguration"/>
</spring:bean>
<spring:bean id="eLander" name="eLander" class="com.xyz.transformers.TranslatorConfigurer">
<spring:property name="translator" ref="translator"/>
</spring:bean>
</spring:beans>
我查找了一個原因,但沒有找到答案。問題似乎與mvel庫有關,但我不知道可能會觸發它。請幫忙!
</mule>
我可以從堆棧跟蹤的問題是在這裏的春天方法見我實現 它在LOG.info失敗下面
@Override
public void afterPropertiesSet() throws Exception {
kieContainer = ...;
LOG.info(kieContainer.verify().getMessages().toString());
try {
this.builder=factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
下面是我的POM的依賴關係:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>6.5.0.Final</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-decisiontables</artifactId>
<version>6.5.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.1.Final</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>
</dependencies>