[digester] Symbolic Name Mistake
Sumner R Andrews Jr
2018-11-05 17:14:55 UTC
In my Netbeans 9 project, I attempted to add Digester and Lang 3 as Jigsaw modules. Both were added to the module path by Netbeans via a wizard

module XmlTrans {
requires opencsv;
requires org.apache.commons.lang3;
requires commons.digester;

However, the project produced the following error when compiled:

Compiling 14 source files to /home/sumner/JNB/NetBeansProjectsPre9.0/Applications/XmlTrans/build/classes
/home/sumner/JNB/NetBeansProjectsPre9.0/Applications/XmlTrans/src/module-info.java:10: error: module not found: commons.digester
requires commons.digester;
1 error
BUILD FAILED (total time: 1 second)

It is not possible to change the statement “requires commons.digester” to “org.apache.common.digester3” to correct the problem.

Interestingly, both libraries use the same org.apache.commons directory structure in their jars with the library name at the end as .digester3 and .lang3 respectively.

A comparison of the MANAFEST.MFs however reveals the potential problem. In the case of Lang3 the manifest lists:

Automatic-Module-Name: org.apache.commons.lang3
Bundle-SymbolicName: org.apache.commons.lang3

Whereas the Digester manifest only references:

Bundle-SymbolicName: org.apache.commons.digester

Obviously, the error lies with the digester manifest.

I would appreciate it if this can be corrected with a more recent compilation and java version.

Thank You

Sent from Sumner Andrews