Hi
you r right, When I run the application (integrated with OFBiz) from
command prompt I get the NPE: in line
getClass().getClassLoader().loadClass(
"org.eclipse.jdt.internal.compiler.Compiler" );
When I run the application (ofcourse integrated with OFBiz) from eclipse
I don't get NPE exception.
In ofbiz we have a batch file named startofbiz.bat to run the application,
inside this I configured the classpath by this
set VMARGS=-Xbootclasspath/p:applications\order\lib\antlr-runtime.jar
set VMARGS=-Xbootclasspath/p:applications\order\lib\drools-api.jar
%VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\drools-compiler.jar
%VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\drools-core.jar
%VMARGS%
set
VMARGS=-Xbootclasspath/p:applications\order\lib\drools-decisiontables.jar
%VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\drools-jsr94.jar
%VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\drools-templates.jar
%VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\joda-time.jar %VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\jsr94.jar %VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\jxl.jar %VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\mvel2.jar %VMARGS%
set
VMARGS=-Xbootclasspath/p:applications\order\lib\org.eclipse.jdt.core_3.4.4.v_894_R34x.jar
%VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\xpp3.jar %VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\xpp3_min.jar %VMARGS%
set VMARGS=-Xbootclasspath/p:applications\order\lib\xstream.jar %VMARGS%
If i don't do this I get the class not found exception
Thanks & Regards:
Pankaj Jain | L&T infotech |Navi Mumbai
Mobile: +91 9920218945
Email : pankaj.jain(a)lntinfotech.com
www.Lntinfotech.com
"Whatever the mind of man can conceive & believe, it can achieve."
Larsen & Toubro Infotech Ltd.
www.Lntinfotech.com
This Document is classified as:
L&T Infotech Proprietary L&T Infotech Confidential L&T Infotech
Internal Use Only L&T Infotech General Business
This Email may contain confidential or privileged information for the
intended recipient (s) If you are not the intended recipient, please do
not use or disseminate the information, notify the sender and delete it
from your system.
Greg Barton <greg_barton(a)yahoo.com>
Sent by: rules-users-bounces(a)lists.jboss.org
07/28/2009 11:29 AM
Please respond to
Rules Users List <rules-users(a)lists.jboss.org>
To
Rules Users List <rules-users(a)lists.jboss.org>
cc
Subject
Re: [rules-users] Run Drool Application From Command Prompt
It's unclear from your post when you get the NPE: from the command line,
from eclipse, or when integrated with OFBiz. (I assume you're referring to
http://ofbiz.apache.org/)
It's undoubtedly a classpath issue. Just peek at the source a bit. I'm
not sure what version you're using, but if you look at the source in the
svn repo you'll see that line 92 of JavaDialectConfiguration is this:
getClass().getClassLoader().loadClass(
"org.eclipse.jdt.internal.compiler.Compiler" );
See the javadoc for Class.getClassLoader() that says "Returns the class
loader for the class. Some implementations may use null to represent the
bootstrap class loader. This method will return null in such
implementations if this class was loaded by the bootstrap class loader."
So, it looks probable that in the environment that's having problems, the
JavaDialectConfiguration class is loaded by the bootstrap classloader.
What is the VM implementation you're using?
It might be best if Thread.currentThread().getContextClassLoader() was
used instead of getClass().getClassLoader() in JavaDialectConfiguration
and elsewhere. Devs, have an opinion on that?
--- On Mon, 7/27/09, Pankaj.Jain(a)lntinfotech.com
<Pankaj.Jain(a)lntinfotech.com> wrote:
From: Pankaj.Jain(a)lntinfotech.com
<Pankaj.Jain(a)lntinfotech.com>
Subject: Re: [rules-users] Run Drool Application From Command Prompt
To: rules-users(a)lists.jboss.org
Date: Monday, July 27, 2009, 11:50 PM
Hi
I still have not got any
solution
of my problem that I posted previously. I have included all
required jar
files and set proper class path .. Please do help ?
problem:
I am trying to
integrate Drool with
ofbiz and run application from command prompt. In one way I
have integrated
it properly and I am able to run it
successfully.
Code : Which I was using initially
KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();
or
PackageBuilderConfiguration cfg = new
PackageBuilderConfiguration();
KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();
Exception I got :
org.drools.RuntimeDroolsException: Unable to load dialect
'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java
:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
at
org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:274)
at
org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:259)
>
>
>
>
at
org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:176)
at
org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:153)
> at
> org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:242)
>
>
> .
>
> .
>
> .
>
> Caused by: java.lang.NullPointerException
>
at
org.drools.rule.builder.dialect.java.JavaDialectConfiguration.setCompiler(JavaDialectConfiguration.java:92)
at
org.drools.rule.builder.dialect.java.JavaDialectConfiguration.init(JavaDialectConfiguration.java:55)
at
org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:270
Problem I found :
In the class JavaDialectConfiguration in jar file
drools-compiler.jar there
is a method named "setCompliler", in this
method Null Pointer
Exception was coming.
Solution I provided :
In my application I created my custom class
CustomJavaDialectConfiguration
by extending to class JavaDialectConfiguration, In this
class I overrided
the method setCompiler. My method was exactly same as that
of method setCompiler
in JavaDialectConfiguration . To call my dialect class I
also overrided
the method "addDialect" of
PackageBuilderConfiguration class
. For that I created class
CustomPackageBuilderConfiguration by extending
to PackageBuilderConfiguration.
after that I wrote the code:
PackageBuilderConfiguration cfg = new
CustomPackageBuilderConfiguration();
KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder(cfg);
Now application is running perfectly fine from both eclipse
and command
prompt without any exception.
I want to know as my overrided method
"setCompiler" was exactly
same then why I had to override method, and In original
code (ie in drools-compiler.jar
file) why it was giving exception ??? Was that
due to class
lader or something else ?? Please do help in this
regard ....
Thanks & Regards:
Pankaj Jain | L&T infotech |Navi Mumbai
Mobile: +91 9920218945
Email : pankaj.jain(a)lntinfotech.com
www.Lntinfotech.com
"Whatever the mind of man can conceive & believe,
it can achieve."
Larsen & Toubro Infotech Ltd.
www.Lntinfotech.com
This Document is classified as:
L&T
Infotech Proprietary L&T
Infotech Confidential L&T
Infotech Internal Use Only L&T
Infotech General Business
This Email may contain confidential or privileged
information for the intended
recipient (s) If you are not the intended recipient, please
do not use
or disseminate the information, notify the sender and
delete it from your
system.
______________________________________________________________________
-----Inline Attachment Follows-----
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
______________________________________________________________________
______________________________________________________________________