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>