Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.3.5
-
None
-
Linux, Karaf
Description
org.apache.httpcomponents:httpclient-osgi:4.3.5 includes some class files from org.apache.httpcomponents:httpcore-osgi:4.3.2 and also exports the same packages. This causes some problems for karaf (and presumably other OSGi containers).
karaf@root> osgi:install -s mvn:org.apache.httpcomponents/httpcore-osgi/4.3.2 Bundle ID: 56 karaf@root> osgi:install -s mvn:org.apache.httpcomponents/httpclient-osgi/4.3.4 Bundle ID: 57 karaf@root> osgi:update --force org.apache.httpcomponents.httpcore/4.3.2 karaf@root> osgi:update --force org.apache.httpcomponents.httpclient/4.3.4 Error executing command: Uses constraint violation. Unable to resolve bundle revision org.apache.httpcomponents.httpclient [57.1] because it is exposed to package 'org.apache.http.io' from bundle revisions org.apache.httpcomponents.httpcore [56.1] and org.apache.httpcomponents.httpcore [56.0] via two dependency chains. Chain 1: org.apache.httpcomponents.httpclient [57.1] import: (&(osgi.wiring.package=org.apache.http.io)(version>=4.3.0)(!(version>=4.4.0))) | export: osgi.wiring.package=org.apache.http.io org.apache.httpcomponents.httpcore [56.1] Chain 2: org.apache.httpcomponents.httpclient [57.1] import: (&(osgi.wiring.package=org.apache.http.impl.entity)(version>=4.3.0)(!(version>=4.4.0))) | export: osgi.wiring.package=org.apache.http.impl.entity; uses:=org.apache.http.io export: osgi.wiring.package=org.apache.http.io org.apache.httpcomponents.httpcore [56.0]
232 class files are in both bundles:
$ comm -1 -2 <( mop get org.apache.httpcomponents:httpclient-osgi:4.3.5 | head -1 | xargs -I{} bsdtar -tf {} | sort ) <( mop get org.apache.httpcomponents:httpcore-osgi:4.3.2 | head -1 | xargs -I{} bsdtar -tf {} | sort ) | grep '\.class$' | wc -l 232