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