Hi Richard
Sorry I misread the trace especially this part:
export: osgi.wiring.package=org.atmosphere.cpr; uses:=javax.annotation
com.vaadin.external.atmosphere.runtime
[com.vaadin.external.atmosphere.runtime [141](R 141.0)]
import: (osgi.wiring.package=javax.annotation)
AFAIR we already discuss about google findbugs bundle that cause an issue (it
should not export Java.annotation package as it’s not a spec).
Maybe I can wrap this bundle in SMX to avoid issue in the future. Thoughts ?
Regards
JB
> Le 28 sept. 2021 à 20:19, Richard Hierlmeier <[email protected]> a
> écrit :
>
> Hi J.B,
>
> The javax.annotation package is exported by
>
> mvn:com.google.code.findbugs/jsr305/3.0.2 (dependency of jsoup)
> and by
> mvn:jakarta.annotation/jakarta.annotation-api/1.3.5 (from cxf-specs feature)
>
> None of them comes from Vaadin. vaadin-server has a dependency to jsoup that
> was upgraded with Vaadin 8.14.0 to version 1.14.2.
> The jsr305 bundle imports to javax.annotation;version=[3.0.2,4)
> My vaadin8osgi Bundle imports javax.annotation;version=[1.3.5,2)
>
> It seems that the jsr305 bundle ist the problem:
> https://stackoverflow.com/questions/64568455/why-does-findbugs-jsr305-break-osgi-package-export-of-javax-annotations-in-redha
>
> Richard
>
>
>
>
> Am Di., 28. Sept. 2021 um 17:35 Uhr schrieb Jean-Baptiste Onofre
> <[email protected]>:
> Hi Richard,
>
> It seems that vaadin.annotations bundle is just wrong as it exports
> javax.annotation whereas it should not.
>
> You have basically three options:
> 1. Fix vaadin.annotations ;)
> 2. Wrap vaadin.annotations to remove the “bad” export
> 3. Don’t use six annotation-api-1.3 and use vaadin.annotations instead but it
> means changing the core features
>
> Regards
> JB
>
> > Le 28 sept. 2021 à 17:27, Richard Hierlmeier <[email protected]> a
> > écrit :
> >
> >
> > After upgrading the Vaadin OSGI demo to VAADIN 8.14.0 it tried
> > to integrate a jax-rs resource into this application.
> >
> > I used the rest whiteboard examples from the Karaf 4.3.3 distribution. It
> > worked in a first step fine.
> >
> > Finally I tried to implement a JAX-RS authentication filter for this
> > application.
> >
> > I implemented this class:
> > https://github.com/rhierlmeier/vaadin8_karaf_demo/blob/jaxrs-integration/src/main/java/de/rhierlmeier/vaadin8osgi/rest/AuthenticationFilter.java
> >
> > I needs the javax.annotation.Priority annotation.
> >
> > When I start now the bundle, I get following error:
> >
> > Error executing command: Error executing command on bundles:
> > Error starting bundle 148: Uses constraint violation. Unable to
> > resolve resource de.rhierlmeier.vaadin8osgi [de.rhierlmeier.vaadin8osgi
> > [148](R 148.2)] because it is exposed to package 'javax.annotation' from
> > resources org.apache.servicemix.specs.annotation-api-1.3
> > [org.apache.servicemix.specs.annotation-api-1.3 [164](R 164.0)] and
> > org.apache.felix.framework [org.apache.felix.framework [0](R 0)] via two
> > dependency chains.
> >
> > Chain 1:
> > de.rhierlmeier.vaadin8osgi [de.rhierlmeier.vaadin8osgi [148](R 148.2)]
> > import:
> > (&(osgi.wiring.package=javax.annotation)(version>=1.3.0)(!(version>=2.0.0)))
> > |
> > export: osgi.wiring.package: javax.annotation
> > org.apache.servicemix.specs.annotation-api-1.3
> > [org.apache.servicemix.specs.annotation-api-1.3 [164](R 164.0)]
> >
> > Chain 2:
> > de.rhierlmeier.vaadin8osgi [de.rhierlmeier.vaadin8osgi [148](R 148.2)]
> > import:
> > (&(osgi.wiring.package=com.vaadin.annotations)(version>=8.14.0)(!(version>=9.0.0)))
> > |
> > export: osgi.wiring.package=com.vaadin.annotations;
> > uses:=org.atmosphere.cpr
> > com.vaadin.server [com.vaadin.server [145](R 145.0)]
> > import:
> > (&(osgi.wiring.package=org.atmosphere.cpr)(version>=2.4.30.vaadin4))
> > |
> > export: osgi.wiring.package=org.atmosphere.cpr; uses:=javax.annotation
> > com.vaadin.external.atmosphere.runtime
> > [com.vaadin.external.atmosphere.runtime [141](R 141.0)]
> > import: (osgi.wiring.package=javax.annotation)
> > |
> > export: osgi.wiring.package: javax.annotation
> > org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
> > Unresolved requirements: [[de.rhierlmeier.vaadin8osgi [148](R 148.2)]
> > osgi.wiring.package;
> > (&(osgi.wiring.package=com.vaadin.annotations)(version>=8.14.0)(!(version>=9.0.0)))]
> >
> > How can I solve this problem?
> >
> > This problem can be reproduced by building and installing this branch:
> >
> > https://github.com/rhierlmeier/vaadin8_karaf_demo/tree/jaxrs-integration
> >
> > Regards
> >
> > Richard
>