Dear all,

I tried to setup a vanilla Apache Karaf 4.3.0 on JDK 11 and install the 
pax-web-undertow feature.

feature:install pax-http-undertow

and further hawtio

feature:repo-add hawtio 2.12.1
feature:install hawtio

I'm getting this error message

org.apache.felix.resolver.reason.ReasonException: Uses constraint violation. 
Unable to resolve resource org.ops4j.pax.web.pax-web-undertow 
[org.ops4j.pax.web.pax-web-undertow/7.3.9] because it is exposed to package 
'javax.servlet' from resources javax.servlet-api [javax.servlet-api/3.1.0] and 
javax.servlet-api [javax.servlet-api/4.0.0] via two dependency chains.
Chain 1:
org.ops4j.pax.web.pax-web-undertow [org.ops4j.pax.web.pax-web-undertow/7.3.9]
import: 
(&(osgi.wiring.package=javax.servlet)(version>=3.1.0)(!(version>=5.0.0)))
|
export: osgi.wiring.package: javax.servlet
javax.servlet-api [javax.servlet-api/3.1.0]
Chain 2:
org.ops4j.pax.web.pax-web-undertow [org.ops4j.pax.web.pax-web-undertow/7.3.9]
import: 
(&(osgi.wiring.package=io.undertow.servlet)(version>=2.0.0)(!(version>=2.1.0)))
|
export: osgi.wiring.package=io.undertow.servlet; uses:=javax.servlet
io.undertow.servlet [io.undertow.servlet/2.0.31.Final]
import: 
(&(osgi.wiring.package=javax.servlet)(version>=4.0.0)(!(version>=5.0.0)))
|
export: osgi.wiring.package: javax.servlet
javax.servlet-api [javax.servlet-api/4.0.0]
at 
org.apache.felix.resolver.ResolverImpl$UseConstraintError.toException(ResolverImpl.java:2444)
at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:463)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:421)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:375)
at 
org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:392)
at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Error executing command: Uses constraint violation. Unable to resolve resource 
org.ops4j.pax.web.pax-web-undertow [org.ops4j.pax.web.pax-web-undertow/7.3.9] 
because it is exposed to package 'javax.servlet' from resources 
javax.servlet-api [javax.servlet-api/3.1.0] and javax.servlet-api 
[javax.servlet-api/4.0.0] via two dependency chains.
Chain 1:
org.ops4j.pax.web.pax-web-undertow [org.ops4j.pax.web.pax-web-undertow/7.3.9]
import: 
(&(osgi.wiring.package=javax.servlet)(version>=3.1.0)(!(version>=5.0.0)))
|
export: osgi.wiring.package: javax.servlet
javax.servlet-api [javax.servlet-api/3.1.0]
Chain 2:
org.ops4j.pax.web.pax-web-undertow [org.ops4j.pax.web.pax-web-undertow/7.3.9]
import: 
(&(osgi.wiring.package=io.undertow.servlet)(version>=2.0.0)(!(version>=2.1.0)))
|
export: osgi.wiring.package=io.undertow.servlet; uses:=javax.servlet
io.undertow.servlet [io.undertow.servlet/2.0.31.Final]
import: 
(&(osgi.wiring.package=javax.servlet)(version>=4.0.0)(!(version>=5.0.0)))
|
export: osgi.wiring.package: javax.servlet
javax.servlet-api [javax.servlet-api/4.0.0]

Any ideas how to solve this? With Karaf 4.2.9 and same JDK it worked.

We need undertow as foundation for our Camel Servlet consumers.

Best
Gerald

Reply via email to