[rules-dev] Protobuf error

Edson Tirelli ed.tirelli at gmail.com
Wed Jun 5 14:28:25 EDT 2013


   Michael, I added the dependency to all modules that I had cloned in my
local machine, but I did not have the wb cloned at that time. If you don't
mind adding, it would be great.

   All modules that use the Kie api will need the dependency when
precompiling a kmodule, i.e., when generating or using a kjar. If the code
only uses source files without generating a kjar, then they will not need
the dependency.

   This is necessary because now Drools will, at the time it generates the
kjar, precompile all rules and serialized them inside the kjar, so that at
the moment the kjar is used, it does not need to invoke the JDT compiler.

   Edson


On Wed, Jun 5, 2013 at 1:53 PM, Michael Anstis <michael.anstis at gmail.com>wrote:

> Thanks... do I assume from your email that we need to add that dependency?
>
> What is the criteria for need to follow to know if we need to include that
> dependency on other (existing or new) modules?
>
> With kind regards,
>
> Mike
>
>
> On 5 June 2013 18:50, Edson Tirelli <ed.tirelli at gmail.com> wrote:
>
>>
>>   Manstis, sorry I missed the dependency on that module:
>>
>>     <dependency>
>>
>>
>>       <groupId>com.google.protobuf</groupId>
>>       <artifactId>protobuf-java</artifactId>
>>
>>       <optional>true</optional>
>>
>>     </dependency>
>>
>>
>> Sorry,
>>
>>  Edson
>>
>>
>>
>> On Wed, Jun 5, 2013 at 2:58 AM, Michael Anstis <michael.anstis at gmail.com>wrote:
>>
>>> Hi,
>>>
>>> Drools Workbench has started to get failing tests due to this:-
>>>
>>> java.lang.NoClassDefFoundError: com/google/protobuf/Message
>>> 	at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieBuilder(KieServicesImpl.java:87)
>>> 	at org.kie.workbench.common.services.builder.Builder.build(Builder.java:116)
>>> 	at org.kie.workbench.common.services.builder.BuildServiceImplTest.testBuilderSimpleKProject(BuildServiceImplTest.java:69)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> 	at java.lang.reflect.Method.invoke(Method.java:597)
>>> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>>> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>>> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>> 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>> 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>>> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>>> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>>> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>>> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>>> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>>> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>>> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>>> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>>> 	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
>>> 	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
>>> 	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> 	at java.lang.reflect.Method.invoke(Method.java:597)
>>> 	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>>> 	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>>> 	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>>> 	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
>>> 	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
>>>
>>> Has something changed upstream? Do we need additional dependencies?
>>>
>>> I remember seeing on IRC yesterday that marshalling had broken(?) is
>>> this related.
>>>
>>> With kind regards,
>>>
>>> Mike
>>>
>>> _______________________________________________
>>> rules-dev mailing list
>>> rules-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-dev
>>>
>>
>>
>>
>> --
>>   Edson Tirelli
>>   JBoss Drools Core Development
>>   JBoss by Red Hat @ www.jboss.com
>>
>> _______________________________________________
>> rules-dev mailing list
>> rules-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>



-- 
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20130605/d4d9e3bc/attachment-0001.html 


More information about the rules-dev mailing list