[rules-users] Can't merge packages with different names. -- PackageException

Edson Tirelli tirelli at post.com
Wed Aug 22 17:09:56 EDT 2007


   Krishnan,

   As your files have different package names:

com.company.a;
com.company.b;

   You need to use different package builders for them. I.e., you can use
the same PackageBuilder to build multiple files only if the files share the
same package name.

    []s
    Edson


2007/8/22, Krishnan <krishiyer at gmail.com>:
>
>
> Hi All,
>
> When I migrated to use the latest 4.0 GA release jars, loading of my rule
> files fails.
>
> I have basically split my rule files into hierarchies as below :-
>
> Directory structure
>
> rules\a\A.drl
> rules\b\B.drl
>
> A.drl
>
> com.company.a;
>
> some rules ...
>
> B.drl
>
> com.company.b;
>
> some rules ...
>
> Java code to load the rules
>
> //read in the source
> final Reader source = new InputStreamReader(new
> FileInputStream(ruleFile));
>
> //this will parse and compile in one step
> //NOTE: There are 2 methods here, the one argument one is for normal DRL.
> builder.addPackageFromDrl (source);
>
> builder is created as follows :-
>
> private PackageBuilder getPackageBuilder() {
> //Use package builder to build up a rule package.
> //An alternative lower level class called "DrlParser" can also be used...
>
> PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
> JavaDialectConfiguration javaConf = (JavaDialectConfiguration)
> conf.getDialectConfiguration( "java" );
> javaConf.setJavaLanguageLevel ("1.5");
> PackageBuilder builder = new PackageBuilder(conf);
>
> return builder;
> }
>
> Exception I get is as follows :-
>
> EXCEPTION [org.drools.compiler.PackageBuilder$PackageMergeException: Can't
> merge packages with different names. This package:
> com.makesys.fs.is.dnpiac.vendorBehaviour.snmp - New package:
> com.makesys.fs.is.dnpiac.vendorBehaviour.cli]
> STACK [org.drools.compiler.PackageBuilder$PackageMergeException: Can't
> merge packages with different names. This package:
> com.makesys.fs.is.dnpiac.vendorBehaviour.snmp - New package:
> com.makesys.fs.is.dnpiac.vendorBehaviour.cli
> at org.drools.compiler.PackageBuilder.validatePackageName (
> PackageBuilder.java:299)
> at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:226)
> at org.drools.compiler.PackageBuilder.addPackageFromDrl(
> PackageBuilder.java:160)
> at com.makesys.fs.is.dnpiac.DNPIACConfigReaderHelper.loadRuleFile (
> DNPIACConfigReaderHelper.java:359)
> at com.makesys.fs.is.dnpiac.DNPIACConfigReaderHelper.loadRuleFiles(
> DNPIACConfigReaderHelper.java:426)
> at com.makesys.fs.is.dnpiac.DNPIACConfigReaderHelper.loadRuleFiles(
> DNPIACConfigReaderHelper.java :380)
> at com.makesys.fs.is.dnpiac.DNPIACConfigReaderHelper.initializeParams(
> DNPIACConfigReaderHelper.java:531)
> at com.makesys.fs.is.dnpiac.DNPIAutoConfigurationAdapter.collect(
> DNPIAutoConfigurationAdapter.java:61)
> at com.makesys.fs.app.adapter.BaseAdapter.activate(BaseAdapter.java:177)
> at com.makesys.fs.app.adapter.UnicastAdapterImpl.activate(
> UnicastAdapterImpl.java:109)
> 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 :585)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
> at sun.rmi.transport.Transport$1.run(Transport.java:153)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall (Transport.java:149)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java
> :466)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(
> TCPTransport.java:707)
> at java.lang.Thread.run(Thread.java :595)
> ]
>
>
> Not sure what the issue is. Any ideas ?
>
> TIA,
> Krishnan
>
> --
> Sivaramakrishna Iyer Krishnan (Anand)
>
> Never assume the obvious is true.
> - William Safire
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>


-- 
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070822/88cbffbe/attachment-0001.html 


More information about the rules-users mailing list