Guillaume Nodet wrote:
I've just seen a problem though.
I though the maven-jbi-plugin would embed jar dependencies in the service
unit, but it does not seem to be the case.

Let's say I have a multiproject build containing a jar, a SU and a SA.
If the code inside the SU depends on the jar, I would want the jbi plugin to automatically bundle it in the SU. We do not need to generate the classpath
tag
in the xbean.xml, but the jar would be bundled along with the classes in the
SU.

Why would the classpath entry not need to be generated
in the xbean.xml ? (is there a smoke and mirrors approach to getting the su to load jars it contains ?)
Any thoughts on how to do that ?


When we started our build project back in May, the SU "jar" bundling was a tricky one and brief looks at the tooling, we decided to use the assembly plugin from Maven.

So a quick hack and we create a ZIP mojo

Essentially, the goal for installing an SU fires the assembly which dumps all the necessary jars into the the defined target/somedir/lib along with the other src/main/resources then zips it all.
This zip is then the artifact.

The SA is just a repeat lather rinse of above, expecting the SU is a ZIP as the artifact.
We later worked out this is all probably doable using the assembly plugin.

The only problem we have is that the xbean/servicemix files in the SUs need to be hand carved to define their individual classpaths, causing very sometimes stressful class loading issues.

Does something in tooling now bundle everything that is required as above ..
ie create a

somepackage-version-su.zip
'--xbean.xml # from a template (adding the lib/jar.jar entries)
'--lib/jar.jar
'--lib/jar2.jar

and then bundle this into an SA ?
It looks like tooling/jbi-maven-plugin gets there, but doesn't add the classpath entries.

(which would be SM specific, so perhaps needing a "servicemix-su" <packaging> type ??)

r.


Reply via email to