Yes, the lilnk is helpful.  Moditech seems to think it is only a problem when 
compiling within Eclipse, but my experience is that anything that uses M2E will 
be affected.  That's a larger pool.
F.

> On Jun 24, 2025, at 04:58, Gary Gregory <garydgreg...@gmail.com> wrote:
> 
> Thanks for the link, hopefully we can get some feedback soon.
> 
> Gary
> 
> 
> On Tue, Jun 24, 2025, 07:31 Ruby Paasche <r.paas...@pripares.com> wrote:
> 
>> Yes, seems to be a Problem in 1.2.x, downgrade to 1.1.x seems to be the
>> Workaround:
>> https://github.com/moditect/moditect/issues/254
>> 
>> 
>> 
>> 
>> Am Di., 24. Juni 2025 um 13:02 Uhr schrieb Gary Gregory <
>> garydgreg...@gmail.com>:
>> 
>>> Hello Kolja,
>>> 
>>> Thank you for the clarification. Would you say this is a bug in the
>>> Moditect Maven plugin? Because it doesn't follow the JAR specification?
>>> 
>>> Ty,
>>> Gary
>>> 
>>> On Tue, Jun 24, 2025, 06:47 Kolja <my-spam-...@gmx.net.invalid> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> see also
>>>> 
>>>> 
>>> 
>> https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2495#issuecomment-2254297050
>>>> 
>>>> The problem is that the commons-cli jar misses directory entries for
>>>> 'versions/9/' under 'META-INF'.
>>>> The module-info.class was somehow added without them.
>>>> 
>>>> The eclipse module name resolver used for the classpath looks for
>>>> directories, does not find them and then reverts to deriving the
>>>> modulename from the filename.
>>>> [
>>>> 
>>> 
>> https://github.com/eclipse-jdt/eclipse.jdt.core/blob/ed787f542d5509ba226f0b8b06982d61e81b4622/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ClasspathMultiReleaseJar.java#L83-L85
>>>> ]
>>>> 
>>>> Hopefully  someone can fix that for commons-cli and maybe check other
>>>> commons artifacts.
>>>> 
>>>> br,
>>>> Kolja
>>>> 
>>>> On 23.06.2025 01:09, Gary Gregory wrote:
>>>>> Hopefully you can create an m2e ticket and post a link to it here.
>>>>> 
>>>>> Ty,
>>>>> Gary
>>>>> 
>>>>> 
>>>>> 
>>>>> On Sun, Jun 22, 2025, 18:50 Frank <software_fr...@runbox.com
>> .invalid>
>>>> wrote:
>>>>> 
>>>>>> BTW, Just opened the project in IntelliJ.  Maven POM is unchanged
>>> except
>>>>>> to up the Commons CLI version to 1.9.0.  No problems with module
>>>> detection.
>>>>>> F.
>>>>>> 
>>>>>>> On Jun 22, 2025, at 14:25, Gary Gregory <garydgreg...@gmail.com>
>>>> wrote:
>>>>>>> 
>>>>>>> On Sun, Jun 22, 2025 at 5:01 PM Frank <software_fr...@runbox.com
>>>> .invalid
>>>>>> <mailto:software_fr...@runbox.com.invalid>> wrote:
>>>>>>>> I added your snapshot repo, changed my pom.xml and verified in
>>> Eclipse
>>>>>> that I was truly using commons-cli-1.10.0-SNAPSHOT.jar.
>>> Unfortunately,
>>>> I
>>>>>> still see the same problem.  org.apache.commons.cli is not
>> recognized
>>>> as a
>>>>>> module.  I have no trouble believing that M2E is the culprit.  I've
>>> had
>>>> to
>>>>>> put other workarounds in place to avoid its limitations.  If Eclipse
>>>>>> doesn't support some feature of Maven, M2E won't have it.
>>>>>>>> In the jar, I can see a module-info.class, but the source does not
>>>>>> provide it from a simple module-info.java and I don't know how the
>>>> class is
>>>>>> built.  Would you have changed the module name at any point?
>>>>>>> We use the Moditect Maven plugin to build the JPMS metadata through
>>>>>>> the commons-parent POM and properties defined in that POM and in
>> the
>>>>>>> POM for CLI.
>>>>>>> 
>>>>>>> Gary
>>>>>>> 
>>>>>>>> Thanks again,
>>>>>>>> Frank
>>>>>>>> 
>>>>>>>>> On Jun 22, 2025, at 13:30, Gary Gregory <garydgreg...@gmail.com>
>>>>>> wrote:
>>>>>>>>> Hm I think our OSGi tests don't run since we ported to JUnit 5.
>>>>>>>>> 
>>>>>>>>> Gary
>>>>>>>>> 
>>>>>>>>> On Sun, Jun 22, 2025 at 3:26 PM Gary Gregory <
>>> garydgreg...@gmail.com
>>>>> 
>>>>>> wrote:
>>>>>>>>>> Hello Frank,
>>>>>>>>>> 
>>>>>>>>>> Are you saying that no matter what version of Commons CLI you
>> use
>>>> and
>>>>>>>>>> then build from the command line with Maven, all is well?
>>>>>>>>>> 
>>>>>>>>>> If the above is true, then this suggests one of two things:
>>>> Something
>>>>>>>>>> is wrong with M2E or something is wrong with the OSGi metadata
>> in
>>>>>>>>>> Commons CLI,
>>>>>>>>>> 
>>>>>>>>>> I don't know if OSGi matters to M2E but you'd hope it wouldn't
>>> since
>>>>>>>>>> most JARs out there don't have OSGi metadata.
>>>>>>>>>> 
>>>>>>>>>> CLI 1.10.0-SNAPSHOT fixes this OSGi issue (see changes.xml):
>>>>>>>>>> 
>>>>>>>>>>> Remove -nouses directive from maven-bundle-plugin. OSGi package
>>>>>> imports now state 'uses' definitions for package imports, this
>> doesn't
>>>>>> affect JPMS (from org.apache.commons:commons-parent:80)
>>>>>>>>>> I would test with a local build of git master or 1.10.0-SNAPSHOT
>>>> from
>>>>>>>>>> our snapshot Maven repository:
>>>>>>>>>> https://repository.apache.org/content/repositories/snapshots/
>>>>>>>>>> 
>>>>>>>>>> This would tell us if the OSGi fix above matters.
>>>>>>>>>> 
>>>>>>>>>> You could also write a test and submit a PR that tests loading
>>>> Commons
>>>>>>>>>> CLI using OSGi in the same way as Commons Compress in the test
>>>> package
>>>>>>>>>> org.apache.commons.compress.osgi
>>>>>>>>>> 
>>>>>>>>>> HTH,
>>>>>>>>>> Gary
>>>>>>>>>> 
>>>>>>>>>> On Sun, Jun 22, 2025 at 1:39 PM Frank <
>> software_fr...@runbox.com
>>>> .invalid>
>>>>>> wrote:
>>>>>>>>>>> Hello,
>>>>>>>>>>> 
>>>>>>>>>>> I have a Java project with a Maven build in which a module uses
>>>>>> commons-cli.  With version 1.9.0, the Maven build works correctly
>> from
>>>> the
>>>>>> command line, but Eclipse and VS Code give an error that
>>>>>> org.apache.commons.cli cannot be resolved to a module.  The strange
>>>> thing
>>>>>> is that if I drop back to version 1.6.0, the error disappears.  The
>>>> command
>>>>>> line build and the IDE build both work.  Any version after that
>>> produces
>>>>>> the issue.  Eclipse lists the commons-cli jar in the Maven
>>> dependencies
>>>> for
>>>>>> any version used and they are physically present in ~/.m2.  Adding
>> it
>>>>>> manually to the module path does not help.
>>>>>>>>>>> This is doubtless some problem buried in M2e, but I have not
>> been
>>>>>> able to resolve it for some time.  I'm wondering if you can provide
>>> any
>>>>>> insight into what changed after 1.6.0 regarding the configuration
>> as a
>>>> Java
>>>>>> 9+ module.  The error occurs when the system encounters 'requires
>>>>>> transitive org.apache.commons.cli;' in module-info.java.
>>>>>>>>>>> The project is fully modularized and built with Java 21 and
>> Maven
>>>>>> 3.9+.
>>>>>>>>>>> Thanks in advance,
>>>>>>>>>>> Frank
>>>>>>>>>>> 
>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
>>>>>>>>>>> For additional commands, e-mail: user-h...@commons.apache.org
>>>>>>>>>>> 
>>>>>>>>> 
>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
>>>>>>>>> For additional commands, e-mail: user-h...@commons.apache.org
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
>>>>>>>> For additional commands, e-mail: user-h...@commons.apache.org
>>>>>>>> 
>>>>>>> 
>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
>> <mailto:
>>>>>> user-unsubscr...@commons.apache.org>
>>>>>>> For additional commands, e-mail: user-h...@commons.apache.org
>>> <mailto:
>>>>>> user-h...@commons.apache.org>
>>>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
>>>> For additional commands, e-mail: user-h...@commons.apache.org
>>>> 
>>>> 
>>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org

Reply via email to