I am using the Drools 6.1.0.Final documentation to set up my Eclipse environment. I am referring this documentation:
Section "1.3.1.4.4. Drools Runtimes"
in "http://docs.jboss.org/drools/release/6.1.0.Final/drools-docs/html_single/"
Out of the many binaries in my drools installation (unzipped the "drools-distribution-6.1.0.Final.zip")
D:\Drools-6.1.0.Final\binaries
Which jars constitute the Drools runtime jar file?
I could just point my eclipse to the drools binaries folder, but I wanted to understand the minimal set of runtime jar files needed by Eclipse.
Section Section "1.3.1.1. Dependencies and JARs"
does talk about the dependency jars such as :
knowledge-api.jar
knowledge-internal-api.jar
drools-core.jar
drools-compiler.jar
drools-jsr94.jar
drools-decisiontables.jar
I was able to locate these 4:
drools-core.jar
drools-compiler.jar
drools-jsr94.jar
drools-decisiontables.jar
However these 2 :
knowledge-api.jar
knowledge-internal-api.jar
Is this substitution correct in Drools 6.1.0.Final release
knowledge-api.jar --> kie-api-6.1.0.Final.jar
knowledge-internal-api.jar --> kie-internal-6.1.0.Final.jar
What other jars I will need out of the Drools distribution's binaries folder to create a complete Drools Runtime?
There is no simple answer to your question as it depends on the Drools features actually used by your application. If it uses templates, you'll need drools-templates-.jar. If you load a precompiled knowledge base, you may not need drools-compiler-.jar and the antlr jar.
You shouldn't be needing the drools-jsr94.jar unless you're using this weak (but generic) API.
It also varies with Drools version. 6 has renamed some, and some reordering has taken place in some 5.x version (I think).
What I do is to run my Java application, starting it from the command line using a shell script where I define the class path, e.g. (note that this is truncated - it's a single string, on one line):
export CLASSPATH=".:$root/drools-core-${tag}.jar:$root/kie-api-${tag}.jar:...
:$root/kie-internal-${tag}.jar."
Now if the Java compiler doesn't find a class, I hunt for it in the jars, and add that. Clumsy? Maybe.