Prev Next

Adding Missing Dependencies

Click on the bnd.bnd file and select the Contents tab. You will see the exports listed in the Export Packages list and the Calculated Imports the list of actual imports. Clearly we’re missing a few files on the -buildpath.

DOM4J dependencies

Let’s start with the first non-JVM dependency: com.sun.msv.datatype.

We can search this on Google and you may end up here, where you see a couple of results:

Obviously we have a choice here … You will have to use external information, common sense, and some luck to get the right one. Unfortunately the rest of the world does not organize packages very well. This uncertainty is one of the main reasons why this process is so tedious.

Let’s pick the net.java.dev.msv : xsdlib @ 2013.6.1 and add it to our build path.

For the bnd.bnd file select the Build tab and then drop the version vignette on the Build Path list. (Remember the bug, might cause it to take a bit, working on it.) If you save the bnd.bnd file and look at the Source tab then you should have the following -buildpath:

-buildpath: \
	dom4j:dom4j;version='1.6',\
	net.java.dev.msv.xsdlib;version='2013.6'

And if you go to the Content tab you will see that the com.sun.msv.datatype and com.sun.msv.datatype.xsd now have an import version range applied to it \[2013.6.1,2014). This version range is calculated by bnd from the exported version of that package by the net.java.dev.msv.xsdlib;version=2013.6.1 bundle. (It is actually a bundle!)

DOM4J dependencies

However, it is still a dependency. This raises the choice of dependending on that dependency or including it? We will handle all cases, but first lets include ALL our dependencies.

We did!


Prev Next