On Sun, Jun 22, 2025 at 5:01 PM Frank <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
For additional commands, e-mail: user-h...@commons.apache.org

Reply via email to