Search code examples
jbpm

Project build error: Unknown packaging: kjar


Using Jbpm 6.4.0 full installer from here: http://www.jbpm.org/download/download.html

  1. start demo: ant start.demo

  2. using eclipse, create a new jBPM project from jBPM playground 6.3 and select translations project

enter image description here

  1. add maven nature to the project

  2. try to install/compile you can see following error on problems tab:

enter image description here

Project build error: Unknown packaging: kjar

Question is: what is kjar packaging ? How is project working in a demo enviroment ?

My Eclipse is:

enter image description here

Edit:

I've found definition on what is a kjar, in particular this part on official documentation:

Version 6, on the other hand moves away from proprietary packages in favor of, well known and mature, Apache Maven based packaging - known as knowledge archives - kjar. Processes, rules etc (aka business assets) are now part of a simple jar file built and managed by Maven. Along the business assets, java classes and other file types are stored in the jar file too. Moreover, as any other maven artifact, kjar can have defined dependencies on other artifacts including other kjars. What makes the kjar special when compared with regular jars is a single descriptor file kept inside META-INF directory of the kjar - kmodule.xml. That descriptor allows to define:

  • knowledge bases and their properties

  • knowledge sessions and their properties

  • work item handlers

  • event listeners

By default, this descriptor is empty (just kmodule root element) and is considered as marker file. Whenever a runtime component (such as jbpm console) is about to process kjar it looks up kmodule.xml to build its runtime representation. In addition to kmodule.xml a deployment descriptor (that provides fine graind control over deployment) is available (since 6.1).

After reading this it's not clear how to build these kjar and why official online example for jbpm include kjar as packaging value


Solution

  • ¿did you test if commenting the line works? just comment the line 8: change this:

    <packaging>kjar</packaging>
    

    into this:

    <!-- <packaging>kjar</packaging> -->
    

    Im not sure, but I think that there is a version mismatch between the code and the documentation. I think the default packaging is jar, so removing line 8 from the configuration will work.