You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2024/03/14 14:12:00 UTC

[jira] [Comment Edited] (CONFIGURATION-839) Commons configuration 2.10.0 fails with module error

    [ https://issues.apache.org/jira/browse/CONFIGURATION-839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17827104#comment-17827104 ] 

Gary D. Gregory edited comment on CONFIGURATION-839 at 3/14/24 2:11 PM:
------------------------------------------------------------------------

Hi [~bob.marinier]
The Servlet API is defined as "provided" in Maven:
{code:xml}
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
{code}
The generated module-info file looks like this:
{code:java}
module org.apache.commons.configuration2 {
    requires static com.fasterxml.jackson.databind;
    requires static commons.jexl;
    requires static org.apache.commons.codec;
    requires org.apache.commons.lang3;
    requires org.apache.commons.logging;
    requires org.apache.commons.text;
    requires static commons.beanutils;
    requires static commons.jxpath;
    requires static commons.vfs2;
    requires java.desktop;
    requires java.naming;
    requires java.sql;
    requires java.xml;
    requires static org.yaml.snakeyaml;
    requires servlet.api;
    requires static spring.beans;
    requires static spring.core;
    requires static xml.resolver;
    exports org.apache.commons.configuration2;
    exports org.apache.commons.configuration2.beanutils;
    exports org.apache.commons.configuration2.builder;
    exports org.apache.commons.configuration2.builder.combined;
    exports org.apache.commons.configuration2.builder.fluent;
    exports org.apache.commons.configuration2.convert;
    exports org.apache.commons.configuration2.event;
    exports org.apache.commons.configuration2.ex;
    exports org.apache.commons.configuration2.interpol;
    exports org.apache.commons.configuration2.io;
    exports org.apache.commons.configuration2.plist;
    exports org.apache.commons.configuration2.reloading;
    exports org.apache.commons.configuration2.resolver;
    exports org.apache.commons.configuration2.spring;
    exports org.apache.commons.configuration2.sync;
    exports org.apache.commons.configuration2.tree;
    exports org.apache.commons.configuration2.tree.xpath;
    exports org.apache.commons.configuration2.web;
}
{code}
The Moditect Maven plugin (moditect-maven-plugin) did the right thing here. See the parent POM for its configuration.


was (Author: garydgregory):
Hi [~bob.marinier]
The Servlet API is defined as "provided" in Maven:
{code:xml}
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
{code}
The generated module-info file looks like this:
{code:java}
module org.apache.commons.configuration2 {
    requires static com.fasterxml.jackson.databind;
    requires static commons.jexl;
    requires static org.apache.commons.codec;
    requires org.apache.commons.lang3;
    requires org.apache.commons.logging;
    requires org.apache.commons.text;
    requires static commons.beanutils;
    requires static commons.jxpath;
    requires static commons.vfs2;
    requires java.desktop;
    requires java.naming;
    requires java.sql;
    requires java.xml;
    requires static org.yaml.snakeyaml;
    requires servlet.api;
    requires static spring.beans;
    requires static spring.core;
    requires static xml.resolver;
    exports org.apache.commons.configuration2;
    exports org.apache.commons.configuration2.beanutils;
    exports org.apache.commons.configuration2.builder;
    exports org.apache.commons.configuration2.builder.combined;
    exports org.apache.commons.configuration2.builder.fluent;
    exports org.apache.commons.configuration2.convert;
    exports org.apache.commons.configuration2.event;
    exports org.apache.commons.configuration2.ex;
    exports org.apache.commons.configuration2.interpol;
    exports org.apache.commons.configuration2.io;
    exports org.apache.commons.configuration2.plist;
    exports org.apache.commons.configuration2.reloading;
    exports org.apache.commons.configuration2.resolver;
    exports org.apache.commons.configuration2.spring;
    exports org.apache.commons.configuration2.sync;
    exports org.apache.commons.configuration2.tree;
    exports org.apache.commons.configuration2.tree.xpath;
    exports org.apache.commons.configuration2.web;
}
{code}
I'm not sure if the Moditect Maven plugin (moditect-maven-plugin) did the right thing here. See the parent POM for its configuration.

> Commons configuration 2.10.0 fails with module error
> ----------------------------------------------------
>
>                 Key: CONFIGURATION-839
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-839
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 2.10.0
>            Reporter: Bob Marinier
>            Priority: Major
>         Attachments: reproducer.zip
>
>
> My system was using apache configuration 2.9.0 without issue. After upgrading to 2.10.0, I get this error at startup:
> {code:java}
> [ERROR] Error occurred during initialization of boot layer
> [ERROR] java.lang.module.FindException: Module servlet.api not found, required by org.apache.commons.configuration2{code}
> I am running on Java 17 on Windows 11. Other than this dependency version change, nothing else about my system has changed. For now I'll go back to 2.9.0, but I'm worried about being able to upgrade in the future.
> My specific java version is:
> {code:java}
> openjdk version "17.0.10" 2024-01-16
> OpenJDK Runtime Environment Temurin-17.0.10+7 (build 17.0.10+7)
> OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (build 17.0.10+7, mixed mode, sharing){code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)