You’re mistaken — the line
org.jsoup:jsoup,\
is not wrong.
This is a valid and fully supported Maven coordinate syntax in Bndtools.
The colon (
does not make the dependency invalid. It simply tells Bndtools to resolve the library using Maven coordinates (groupId:artifactId), rather than as an OSGi bundle symbolic name.
Both notations are allowed and functionally correct:
org.jsoup → resolves by Bundle-SymbolicName in the OSGi repositories (e.g. bnd-cache, cnf/repo)
org.jsoup:jsoup → resolves by Maven coordinate through the configured BndPomRepository (e.g. Maven Central)
The error
org.jsoup:jsoup;version=0 Not found
does not indicate an invalid syntax — it simply means that Bndtools couldn’t find the artifact in the configured repositories.
That happens when:
the Maven repository (e.g. Maven Central) isn’t properly declared in cnf/build.bnd,
the POM index (pom-Maven Central.xml) hasn’t been generated or is outdated, or
you’re building offline with an empty cache.
So changing the line to org.jsoup,\ didn’t fix a syntax problem — it merely changed how Bndtools searches for the dependency.
The version without a colon works because jsoup already includes a valid Bundle-SymbolicName: org.jsoup in its manifest, allowing Bndtools to find it as an OSGi bundle in the cache.
To summarize:
> The problem isn’t with the : syntax — it’s with the missing Maven repository configuration.
org.jsoup:jsoup is completely correct when the environment is set up properly.


