Le 26/10/14 21:13, Stefan Seelmann a écrit : > Hi Emmanuel, > > I removed it for now because Eclipse complained about the version "2.4" > of commons.io, the right OSGi version would be 2.4.0. Also for > Import-Package it must be named "version", not "bundle-version" (in > valueeditor). After having checked, the difference is subtile.
'version=' stands for the package version. 'bundle-version=' stands for the bundle, and it requires the 'bundle-symbolic-name=' to be valid. Note that, as weird as it may sound, a bundle may have more than one version for a package. Here, we could have used bundle-version=... assuming that we have specified the commons-io bundle symbolic name, like : org.apache.commons.codec;bundle-symbolic-name="org.apache.commons.io";bundle-version="1.8", As we build a bundle from the commons-io jar, it should work... Here is the created commons-io bundle's MANIFEST : Manifest-Version: 1.0 Export-Package: org.apache.commons.io;version="1.4.9999", org.apache.commons.io.comparator;version="1.4.9999", org.apache.commons.io.filefilter;version="1.4.9999", org.apache.commons.io.input;version="1.4.9999", org.apache.commons.io.output;version="1.4.9999", org.apache.commons.io;version="2.4", org.apache.commons.io.comparator;version="2.4", org.apache.commons.io.filefilter;version="2.4", org.apache.commons.io.input;version="2.4", org.apache.commons.io.output;version="2.4", org.apache.commons.io.monitor;version="2.4" Bundle-SymbolicName: org.apache.commons.io Bundle-Name: Commons IO Bundle-Version: 2.4.0 Specification-Version: 2.4 ...
