Hi Jim,

I took another look, we actually don't need JVM option
--add-exports  java.rmi/sun.rmi.registry=ALL-UNNAMED
to build CXF management module with JDK 9+, because CXF management module
now doesn't use JDK internal API sun.rmi.registry anymore(CXF-8250 made
this change). So we don't need it even for CXF 3.4.x and 3.5.x.

So please remove that profile from CXF 3.4.x to CXF 4.x

Thanks!
Freeman

On Thu, Apr 21, 2022 at 2:20 AM Jim Ma <mail2ji...@gmail.com> wrote:

> I think we can remove this profile from 3.4.x and 3.5.x too.  There is no
> reason we should still keep this, right ?
> I tried to build 3.4.x/3.5.x with jdk11, and the Export-Package entry in
> META-INF is generated as expected.
>
>
> On Thu, Apr 21, 2022 at 10:25 AM Freeman Fang <freeman.f...@gmail.com>
> wrote:
>
>> Hi Jim,
>>
>> I mean remove it from CXF 4.x which is JDK11 minimum.
>>
>> Freeman
>>
>> On Wed, Apr 20, 2022 at 8:45 PM Jim Ma <mail2ji...@gmail.com> wrote:
>>
>>> 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
>>>>>>> >
>>>>>>> >
>>>>>>>
>>>>>>

Reply via email to