I'm working on a project with java 8 and maven. I need to upgrade the following jars to the latest version possible: drools-api-5.1.0.M1.jar, drools-core-5.1.0.M1.jar, drools-compiler-5.1.0.M1.jar, drools-templates-5.1.0.M1.jar and drools-persistence-jpa-5.1.0.M1.jar. I have upgraded all the jars to 7.74.1.Final version since higher versions requires java 11 or higher. I have the following method:
public static KnowledgeBase createKnowledgeBase(String rule) {
KnowledgeBuilder kBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
Reader rdr = new StringReader(rule);
kBuilder.add(ResourceFactory.newReaderResource(rdr), ResourceType.DRL);
if (kBuilder.hasErrors()) {
throw new RuntimeException(kBuilder.getErrors().toString());
}
KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
knowledgeBase.addKnowledgePackages(kBuilder.getKnowledgePackages());
return knowledgeBase;
}
But when I run the application and executes the first line I get this error "Unable to instantiate service for class org.drools.builder.KnowledgeBuilderFactoryService". Then investigating the issue I found out I had to change the method for something like this:
public static KieSession createKieSessionFromDRL(String drl) {
KieServices kieServices = KieServices.Factory.get();
KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
kieFileSystem.write(kieServices.getResources().newByteArrayResource(drl.getBytes())
.setSourcePath("rule.drl")
.setResourceType(ResourceType.DRL));
KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem).buildAll();
if (kieBuilder.getResults().hasMessages(org.kie.api.builder.Message.Level.ERROR)) {
throw new RuntimeException("Build Errors:\n" + kieBuilder.getResults().toString());
}
KieContainer kieContainer = kieServices.newKieContainer(kieBuilder.getKieModule().getReleaseId());
return kieContainer.newKieSession();
}
Now when I run the application and executes the new method I get this error:
Build Errors:
Error Messages:
Message id=1, level=ERROR, path=pom.xml, line=0, column=0
text=maven pom.xml found, but unable to read
Unable to parse File pom.xml
This is my pom, I don't know what is wrong with it, I hope you can help me.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.csatp</groupId>
<artifactId>tips</artifactId>
<packaging>jar</packaging>
<version>24.1.2.0</version>
<description>TIPS application</description>
<url>http://home/departments/it/projects/iris2/wiki/</url>
<name>TIPS</name>
<profiles>
<profile>
<id>disable-java8-doclint</id>
<activation>
<jdk>1.8</jdk>
</activation>
<properties>
<additionalparam>-Xdoclint:none</additionalparam>
</properties>
</profile>
</profiles>
<properties>
<project.build.sourceEncoding>windows-1252</project.build.sourceEncoding>
<spring.security.version>3.1.4.RELEASE</spring.security.version>
<artifact.env>LOCAL</artifact.env>
</properties>
<parent>
<artifactId>swing-app-parent</artifactId>
<groupId>com.ea.maven</groupId>
<version>1.0.1</version>
</parent>
<ciManagement>
<system>TeamCity</system>
<url>http://build</url>
<notifiers>
<notifier>
<type>mail</type>
<sendOnError>true</sendOnError>
<sendOnFailure>true</sendOnFailure>
<sendOnSuccess>false</sendOnSuccess>
<sendOnWarning>false</sendOnWarning>
<configuration>
<address>[email protected]</address>
</configuration>
</notifier>
</notifiers>
</ciManagement>
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<artifactId>tips_schema</artifactId>
<groupId>com.csatp</groupId>
<version>2.3.321</version>
<exclusions>
<exclusion>
<groupId>com.csatp</groupId>
<artifactId>tips</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>mail</artifactId>
<groupId>javax.mail</groupId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>public-client-msal4j-sample-AD</artifactId>
<version>1.13.0</version>
</dependency>
<dependency>
<artifactId>csa-encryption</artifactId>
<groupId>com.csatp</groupId>
<version>2.0.0</version>
</dependency>
<dependency>
<artifactId>payflow</artifactId>
<groupId>com.paypal</groupId>
<version>4.34</version>
</dependency>
<dependency>
<artifactId>util</artifactId>
<groupId>com.csatp.util</groupId>
<version>1.0.29</version>
<exclusions>
<exclusion>
<artifactId>exceptions</artifactId>
<groupId>com.csatp</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>drools-api</artifactId>
<groupId>org.drools</groupId>
<version>5.1.1</version>
</dependency>
<dependency>
<artifactId>drools-persistence-jpa</artifactId>
<groupId>org.drools</groupId>
<version>7.74.1.Final</version>
</dependency>
<dependency>
<artifactId>drools-core</artifactId>
<groupId>org.drools</groupId>
<version>7.74.1.Final</version>
</dependency>
<dependency>
<artifactId>drools-compiler</artifactId>
<groupId>org.drools</groupId>
<version>7.74.1.Final</version>
</dependency>
<dependency>
<artifactId>drools-templates</artifactId>
<groupId>org.drools</groupId>
<version>7.74.1.Final</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-persistence-api</artifactId>
<version>7.74.1.Final</version>
</dependency>
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-api</artifactId>
<version>7.74.1.Final</version>
</dependency>
<dependency>
<groupId>org.kie.server</groupId>
<artifactId>kie-server-api</artifactId>
<version>7.74.1.Final</version>
</dependency>
<dependency>
<artifactId>janino</artifactId>
<groupId>org.codehaus.janino</groupId>
<version>3.1.12</version>
</dependency>
<dependency>
<artifactId>jdom</artifactId>
<groupId>jdom</groupId>
<version>1.0</version>
</dependency>
<dependency>
<artifactId>hibernate-entitymanager</artifactId>
<groupId>org.hibernate</groupId>
<version>3.4.0.GA</version>
</dependency>
<dependency>
<artifactId>hibernate-core</artifactId>
<groupId>org.hibernate</groupId>
<version>3.3.0.SP1</version>
</dependency>
<dependency>
<artifactId>commons-beanutils</artifactId>
<groupId>commons-beanutils</groupId>
<version>1.9.4</version>
</dependency>
<dependency>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
<version>1.1</version>
</dependency>
<dependency>
<artifactId>commons-codec</artifactId>
<groupId>commons-codec</groupId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.10.0</version>
</dependency>
<dependency>
<artifactId>forms</artifactId>
<groupId>com.jgoodies</groupId>
<version>1.2.1</version>
</dependency>
<dependency>
<artifactId>dom4j</artifactId>
<groupId>dom4j</groupId>
<version>2.1.4</version>
</dependency>
<dependency>
<artifactId>jaxen</artifactId>
<groupId>jaxen</groupId>
<version>1.1</version>
</dependency>
<dependency>
<artifactId>ThreeDLookAndFeel</artifactId>
<groupId>swing.addon.plaf.threeD</groupId>
<version>2.7</version>
</dependency>
<dependency>
<artifactId>EaSynthLookAndFeel</artifactId>
<groupId>com.easynth.lookandfeel</groupId>
<version>2.0</version>
</dependency>
<dependency>
<artifactId>TonicLookAndFeel</artifactId>
<groupId>com.digitprop.tonic</groupId>
<version>5.0</version>
</dependency>
<dependency>
<artifactId>xmlunit</artifactId>
<groupId>xmlunit</groupId>
<version>1.2</version>
<scope>test</scope>
</dependency>
<dependency>
<artifactId>junit</artifactId>
<groupId>junit</groupId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.0-rc1</version>
<scope>test</scope>
</dependency>
<dependency>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
<version>1.2.13</version>
</dependency>
<dependency>
<artifactId>itext</artifactId>
<groupId>com.lowagie</groupId>
<version>2.1.7</version>
</dependency>
<!-- itextpdf -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<artifactId>lucene-core</artifactId>
<groupId>org.apache.lucene</groupId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>com.sun.pdfview</groupId>
<artifactId>pdfrenderer</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>com.sferyx.administration.editors</groupId>
<artifactId>HTMLEditorEnterprise</artifactId>
<version>15.0.0</version>
</dependency>
<dependency>
<artifactId>jortho</artifactId>
<groupId>com.inet</groupId>
<version>1.0.0</version>
</dependency>
<dependency>
<artifactId>jtidy</artifactId>
<groupId>org.w3c.tidy</groupId>
<version>8.0.0</version>
</dependency>
<dependency>
<artifactId>novaworx</artifactId>
<groupId>novaworx</groupId>
<version>0.0.7</version>
</dependency>
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>core-renderer</artifactId>
<version>R8csa1</version>
</dependency>
<dependency>
<artifactId>sam</artifactId>
<groupId>org.bushe</groupId>
<version>1.0.0</version>
</dependency>
<dependency>
<artifactId>annotations</artifactId>
<groupId>org.jetbrains</groupId>
<version>7.0.2</version>
</dependency>
<dependency>
<artifactId>commons-sanselan</artifactId>
<groupId>org.lucee</groupId>
<version>0.97.0.incubator</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.15.1</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<!--<version>1.4.7</version>-->
<version>1.4.20</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.8</version>
</dependency>
<dependency>
<groupId>com.ea.service</groupId>
<artifactId>service-api</artifactId>
<version>1.50.0</version>
</dependency>
<dependency>
<groupId>com.ea.service</groupId>
<artifactId>soa-requestentities</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>com.ea.service</groupId>
<artifactId>soa-framework</artifactId>
<version>1.8.0</version>
<exclusions>
<exclusion>
<artifactId>exceptions</artifactId>
<groupId>com.csatp</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- end CSA Web Service dependencies -->
<dependency>
<artifactId>btm</artifactId>
<groupId>org.codehaus.btm</groupId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.26</version>
</dependency>
<dependency>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
<version>1.7.26</version>
</dependency>
<dependency>
<artifactId>asm</artifactId>
<groupId>asm</groupId>
<version>3.1</version>
</dependency>
<dependency>
<artifactId>csa-jndi</artifactId>
<groupId>com.csatp</groupId>
<version>1.0</version>
</dependency>
<dependency>
<artifactId>jemmy</artifactId>
<groupId>org.netbeans</groupId>
<version>2.2.7</version>
</dependency>
<dependency>
<groupId>com.csatp.tips</groupId>
<artifactId>common-new</artifactId>
<version>1.0.04</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.16.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.1.3-jre</version>
</dependency>
<dependency>
<groupId>com.github.rholder</groupId>
<artifactId>guava-retrying</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.generali.globalassist.platform.common</groupId>
<artifactId>platform-common-metrics</artifactId>
<version>2.0.6</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.generali.globalassist.platform.common</groupId>
<artifactId>platform-common-secrets-manager</artifactId>
<version>2.0.6</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-secretsmanager</artifactId>
<version>1.12.333</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.16.1</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring.security.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-asp</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.12.333</version>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>19.10</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>amazon-sqs-java-messaging-lib</artifactId>
<version>1.0.4</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test/unit</testSourceDirectory>
<resources>
<resource>
<directory>./</directory>
<includes>
<include>*.properties</include>
</includes>
</resource>
<resource>
<directory>src</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.cfg.xml</include>
<include>**/*.jpg</include>
<include>**/*.png</include>
<include>**/*.gif</include>
<include>**/*.properties</include>
<include>**/*.txt</include>
<include>**/*.xsd</include>
<include>**/*.vm</include>
<include>**/*.drl</include>
<include>**/*.drt</include>
<include>**/*.rf</include>
<include>**/*.xls</include>
<include>**/*.dat</include>
</includes>
</resource>
<resource>
<directory>resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.jpg</include>
<include>**/*.png</include>
<include>**/*.gif</include>
<include>**/*.properties</include>
<include>**/*.txt</include>
<include>**/*.xsd</include>
<include>**/*.vm</include>
<include>**/*.drl</include>
<include>**/*.drt</include>
<include>**/*.rf</include>
<include>**/*.xls</include>
<include>**/*.dat</include>
<include>**/*.ortho</include>
</includes>
</resource>
<resource>
<directory>resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>./</directory>
<includes>
<include>*.properties</include>
</includes>
</testResource>
<testResource>
<directory>test/unit</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.jpg</include>
<include>**/*.png</include>
<include>**/*.gif</include>
<include>**/*.properties</include>
<include>**/*.txt</include>
<include>**/*.xsd</include>
<include>**/*.sql</include>
<include>**/*.vm</include>
<include>**/*.drl</include>
<include>**/*.drt</include>
<include>**/*.rf</include>
<include>**/*.xls</include>
</includes>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>windows-1252</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>assembly/assembly.xml</descriptor>
</descriptors>
<finalName>iris2-${project.version}</finalName>
<!--<outputDirectory>${outputDirectory}</outputDirectory>-->
<workDirectory>${outputDirectory}/assembly/work
</workDirectory>
<archive>
<manifest>
<mainClass>com.csatp.app.client.ClientMain</mainClass>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifest>
<mainClass>com.csatp.app.client.ClientMain
</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.1</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<!--<additionalparam>-Xdoclint:none</additionalparam>-->
<siteDirectory>${basedir}/site</siteDirectory>
</configuration>
</plugin>
</reportPlugins>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<minmemory>128m</minmemory>
<maxmemory>1g</maxmemory>
<!--<additionalparam>-Xdoclint:none</additionalparam>-->
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<argLine>-Xms128m -Xmx256m -XX:MaxPermSize=512m</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>external.atlassian.jgitflow</groupId>
<artifactId>jgitflow-maven-plugin</artifactId>
<version>1.0-m5.1</version>
<configuration>
<flowInitContext>
<masterBranchName>master</masterBranchName>
<developBranchName>develop</developBranchName>
<featureBranchPrefix>feature/</featureBranchPrefix>
<releaseBranchPrefix>release/</releaseBranchPrefix>
<hotfixBranchPrefix>hotfix/</hotfixBranchPrefix>
<versionTagPrefix>version-</versionTagPrefix>
</flowInitContext>
<noDeploy>false</noDeploy>
<squash>false</squash>
<scmCommentPrefix>[RELEASE] </scmCommentPrefix>
<enableSshAgent>true</enableSshAgent>
<pushReleases>true</pushReleases>
</configuration>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>9.0.9</version>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>