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 : [email protected]
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 <[email protected]> 
Sent by: [email protected]
07/28/2009 11:29 AM
Please respond to
Rules Users List <[email protected]>


To
Rules Users List <[email protected]>
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, [email protected] 
<[email protected]> wrote:

> From: [email protected] <[email protected]>
> Subject: Re: [rules-users] Run Drool Application From Command Prompt
> To: [email protected]
> 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 : [email protected]
> 
> 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
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
> 


 

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

______________________________________________________________________



______________________________________________________________________
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to