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>

Reply via email to