<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">It was my understanding that even if you set the dialect to java that mvel is still used to execute some LHS expressions.&nbsp; (Except for code inside an accumulate expression.)&nbsp; It's the RHS that is mainly affected.<br><br>--- On <b>Fri, 6/25/10, Wolfgang Laun <i>&lt;wolfgang.laun@gmail.com&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Wolfgang Laun &lt;wolfgang.laun@gmail.com&gt;<br>Subject: [rules-users] Minimum jar set in 5.1.0.M2 contains lib/mvel2.jar - a show stopper for us<br>To: "Rules Users List" &lt;rules-users@lists.jboss.org&gt;<br>Date: Friday, June 25, 2010, 3:05 AM<br><br><div id="yiv2111563518">I've read somewhere that the minimum jar set for execution with a precompiled .pkg is just<br>&nbsp;&nbsp; drools-api-5.1.0.M2.jar<br>&nbsp;&nbsp;
 drools-core-5.1.0.M2.jar<br><br>However, trying to run an application with just a .pkg file, this jar set results in the stack<br>
dump shown below, due to a missing "org.mvel2..." class. Adding lib/mvel2-2.0.16.jar to the<br>CLASSPATH fixes this, but (for reasons I don't care to elaborate here) be we can't have this<br>in our application. <br>
<br>Can this .jar be avoided? <br><br>Note: I'm not using mvel, and the .drl file begins with "package movie; dialect "java".<br><br>-W<br><br><br>Exception in thread "main" java.lang.NoClassDefFoundError: org/mvel2/integration/impl/MapVariableResolverFactory<br>
&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.defineClass1(Native Method)<br>&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.defineClass(ClassLoader.java:632)<br>&nbsp;&nbsp;&nbsp; at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)<br>&nbsp;&nbsp;&nbsp; at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)<br>
&nbsp;&nbsp;&nbsp; at java.net.URLClassLoader.access$000(URLClassLoader.java:73)<br>&nbsp;&nbsp;&nbsp; at java.net.URLClassLoader$1.run(URLClassLoader.java:212)<br>&nbsp;&nbsp;&nbsp; at java.security.AccessController.doPrivileged(Native Method)<br>&nbsp;&nbsp;&nbsp; at java.net.URLClassLoader.findClass(URLClassLoader.java:205)<br>
&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:319)<br>&nbsp;&nbsp;&nbsp; at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)<br>&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:264)<br>&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)<br>
&nbsp;&nbsp;&nbsp; at java.lang.Class.getDeclaredFields0(Native Method)<br>&nbsp;&nbsp;&nbsp; at java.lang.Class.privateGetDeclaredFields(Class.java:2308)<br>&nbsp;&nbsp;&nbsp; at java.lang.Class.getDeclaredField(Class.java:1897)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1627)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:69)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:442)<br>&nbsp;&nbsp;&nbsp; at java.security.AccessController.doPrivileged(Native Method)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectStreamClass.&lt;init&gt;(ObjectStreamClass.java:430)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:327)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:564)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1600)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1513)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1749)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)<br>&nbsp;&nbsp;&nbsp; at java.util.HashMap.readObject(HashMap.java:1047)<br>&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Method.java:616)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:41)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1809)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1768)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)<br>
&nbsp;&nbsp;&nbsp; at org.drools.rule.Package.readExternal(Package.java:198)<br>&nbsp;&nbsp;&nbsp; at org.drools.definitions.impl.KnowledgePackageImp.readExternal(KnowledgePackageImp.java:99)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1809)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1768)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)<br>
&nbsp;&nbsp;&nbsp; at java.util.ArrayList.readObject(ArrayList.java:696)<br>&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Method.java:616)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)<br>
&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)<br>&nbsp;&nbsp;&nbsp; at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)<br>&nbsp;&nbsp;&nbsp; at movie.Main.init(Main.java:40)<br>&nbsp;&nbsp;&nbsp; at movie.Main.main(Main.java:89)<br>
Caused by: java.lang.ClassNotFoundException: org.mvel2.integration.impl.MapVariableResolverFactory<br>&nbsp;&nbsp;&nbsp; at java.net.URLClassLoader$1.run(URLClassLoader.java:217)<br>&nbsp;&nbsp;&nbsp; at java.security.AccessController.doPrivileged(Native Method)<br>
&nbsp;&nbsp;&nbsp; at java.net.URLClassLoader.findClass(URLClassLoader.java:205)<br>&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:319)<br>&nbsp;&nbsp;&nbsp; at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)<br>&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:264)<br>
&nbsp;&nbsp;&nbsp; at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)<br>&nbsp;&nbsp;&nbsp; ... 60 more<br><br><br>
</div><br>-----Inline Attachment Follows-----<br><br><div class="plainMail">_______________________________________________<br>rules-users mailing list<br><a ymailto="mailto:rules-users@lists.jboss.org" href="/mc/compose?to=rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></div></blockquote></td></tr></table><br>