Hi Freeman, Are you saying we can remove this java9-plus profile completely from 3.4.x to 4.x?
Cheers, Jim On Wed, Apr 20, 2022 at 10:45 PM Freeman Fang <freeman.f...@gmail.com> wrote: > Hi Jim, > > Without it, on JDK11 we will see META-INF.versions.11 from the export > package part, and we don't want it. And this META-INF.versions.11 thing is > from the maven-compiler-plugin in java9-plus profile. > The expected Export-Package should be like > Export-Package: > org.apache.cxf.tracing;version="4.0.0", > org.apache.cxf.management.jmx;version="4.0.0", > org.apache.cxf.management.jmx.type;version="4.0.0", > org.apache.cxf.management.jmx.export.runtime;version="4.0.0", > org.apache.cxf.management.utils;version="4.0.0", > org.apache.cxf.management.persistence;version="4.0.0", > org.apache.cxf.management.counters;version="4.0.0", > org.apache.cxf.management.interceptor;version="4.0.0" > > The mystery in this profile was introduced in the first place to both > support JDK8 and JDK11. Since for CXF 4.x the minimum JDK version is > JDK11(don't need to consider JDK8 compatible anymore), I believe we are > safe to remove java9-plus profile in management/pom.xml all together. > > Cheers > Freeman > > On Tue, Apr 19, 2022 at 10:34 PM Jim Ma <mail2ji...@gmail.com> wrote: > >> Hi Freeman, >> Do you know why we don't require this with JDK8 and only for JDK9 and >> plus ? >> I see the Export package info in META-INF built with JDK11 without this >> configuration already has this >> export package entry : >> >> Export-Package: org.apache.cxf.tracing;version="3.5.3",org.apache.cxf. >> management.jmx;version="3.5.3",org.apache.cxf.management.jmx.type;ver >> sion="3.5.3",org.apache.cxf.management.jmx.export.runtime;version="3. >> 5.3",org.apache.cxf.management.utils;version="3.5.3",org.apache.cxf.m >> anagement.persistence;version="3.5.3",org.apache.cxf.management.count >> ers;version="3.5.3",org.apache.cxf.management.interceptor;version="3. >> 5.3",META-INF.versions.11.org.apache.cxf.tracing;version="3.5.3",META >> -INF.versions.11.org.apache.cxf.management.jmx;version="3.5.3",META-I >> NF.versions.11.org.apache.cxf.management.jmx.type;version="3.5.3",MET >> A-INF.versions.11.org.apache.cxf.management.jmx.export.runtime;versio >> n="3.5.3",META-INF.versions.11.org.apache.cxf.management.utils;versio >> n="3.5.3",META-INF.versions.11.org.apache.cxf.management.persistence; >> version="3.5.3",META-INF.versions.11.org.apache.cxf.management.counte >> rs;version="3.5.3",META-INF.versions.11.org.apache.cxf.management.int >> erceptor;version="3.5.3" >> >> >> Cheers, >> Jim >> >> >> On Wed, Apr 20, 2022 at 3:04 AM Freeman Fang <freeman.f...@gmail.com> >> wrote: >> >>> Hi Jim, >>> >>> Please change the rt/management/pom.xml like this. >>> >>> <configuration> >>> <obrRepository>NONE</obrRepository> >>> <instructions> >>> - >>> >>> <Export-Package>org.apache.cxf.management*,org.apache.cxf.tracing*</Export-Package> >>> + <Export-Package> >>> + >>> org.apache.cxf.management.counters, >>> + >>> org.apache.cxf.management.interceptor, >>> + >>> org.apache.cxf.management.persistence, >>> + >>> org.apache.cxf.management.utils, >>> + >>> org.apache.cxf.management.jmx, >>> + >>> org.apache.cxf.management.jmx.export.runtime, >>> + org.apache.cxf.tracing* >>> + </Export-Package> >>> </instructions> >>> <niceManifest>true</niceManifest> >>> </configuration> >>> This fine-grained export package can avoid including the package from >>> cxf-core module. >>> >>> Best Regards >>> Freeman >>> >>> On Mon, Apr 18, 2022 at 11:50 PM Jim Ma <mail2ji...@gmail.com> wrote: >>> >>>> Thanks Andriy. Jira is filled : >>>> https://issues.apache.org/jira/browse/CXF-8695 >>>> and PRs are sent. >>>> >>>> >>>> On Sun, Apr 17, 2022 at 9:28 AM Andriy Redko <drr...@gmail.com> wrote: >>>> >>>> > Hey Jim, >>>> > >>>> > This is interesting, I believe it is not needed, only some compiler >>>> args >>>> > need >>>> > tailoring (for JDK-11) but the classes should not be copied to >>>> versions/11. >>>> > Thanks! >>>> > >>>> > Best Regards, >>>> > Andriy Redko >>>> > >>>> > JM> When building cxf-rt-management 3.5.1 with JDK11, some api >>>> classes are >>>> > JM> copied to the jar file. It looks like these classes are copied by >>>> the >>>> > JM> maven-bundle-plugin from java9-plus profile : >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > JM> *<profile> <id>java9-plus</id> <activation> >>>> > <jdk>[9,)</jdk> >>>> > JM> </activation> <build> <plugins> <plugin> >>>> > JM> <groupId>org.apache.felix</groupId> >>>> > JM> <artifactId>maven-bundle-plugin</artifactId> >>>> > JM> <extensions>true</extensions> <configuration> >>>> > JM> <obrRepository>NONE</obrRepository> >>>> > <instructions> >>>> > >>>> > JM> >>>> > >>>> <Export-Package>org.apache.cxf.management*,org.apache.cxf.tracing*</Export-Package> >>>> > JM> </instructions> >>>> > JM> <niceManifest>true</niceManifest> </configuration> >>>> > JM> </plugin--> </plugins> </build></profile> * >>>> > >>>> > JM> Why does cxf-rt-management need to copy these classes to the jar >>>> file >>>> > ? Is >>>> > JM> it still needed to duplicate these classes from cxf-core ? >>>> > >>>> > JM> Thanks, >>>> > JM> Jim >>>> > >>>> > >>>> >>>