You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to have the OGNL jar artifact properly work as a dependency in JPMS (a required module in a Java 9+ modular application), OGNL should choose a module name that gives dependent software some kind of guarantee on the module name that should be used for it, whatever the version. This can be done even if OGNL is not turned yet into a module as such, by merely adding an Automatic-Module-Name: <name> entry to the MANIFEST.MF file.
This works as a kind of reserve for module names and allows software using OGNL to properly express OGNL as a dependency in a requires clause in module-info.java, even if OGNL has not been modularised yet.
Note there are two main approaches for module naming (see this). Apache Commons OGNL has already chosen the reverse-DNS approach (see their pom.xml) so it is org.apache.commons.ognl there, but given OGNL 3 and OGNL 4 will be completely package- and code-incompatible (ognl.* vs org.apache.commons.ognl.* packages), I'm not sure it would make sense to adopt org.apache.commons.ognl here too as a module name for the sake of compatibility. So using simply ognl as name could be a sensible option here too. Especially given the fact that Apache Commons OGNL seems dead.
The text was updated successfully, but these errors were encountered:
In order to have the OGNL jar artifact properly work as a dependency in JPMS (a required module in a Java 9+ modular application), OGNL should choose a module name that gives dependent software some kind of guarantee on the module name that should be used for it, whatever the version. This can be done even if OGNL is not turned yet into a module as such, by merely adding an
Automatic-Module-Name: <name>
entry to theMANIFEST.MF
file.This works as a kind of reserve for module names and allows software using OGNL to properly express OGNL as a dependency in a
requires
clause inmodule-info.java
, even if OGNL has not been modularised yet.Note there are two main approaches for module naming (see this). Apache Commons OGNL has already chosen the reverse-DNS approach (see their pom.xml) so it is
org.apache.commons.ognl
there, but given OGNL 3 and OGNL 4 will be completely package- and code-incompatible (ognl.*
vsorg.apache.commons.ognl.*
packages), I'm not sure it would make sense to adoptorg.apache.commons.ognl
here too as a module name for the sake of compatibility. So using simplyognl
as name could be a sensible option here too. Especially given the fact that Apache Commons OGNL seems dead.The text was updated successfully, but these errors were encountered: