DSpace 7.6.5 Build failure after CVE-2025-66516 / CVE-2025-54988 patching: error: package org.apache.jena.ext.xerces.impl.dv.util does not exist

31 views
Skip to first unread message

Nason Bimbe

unread,
Mar 4, 2026, 8:13:20 AM (3 days ago) Mar 4
to DSpace Technical Support
Hello,

I have applied for DSpace 7.6.x (https://github.com/DSpace/DSpace/issues/11678) and the build is failing with the following:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.14.0:compile (default-compile) on project dspace-api: Compilation failure: Compilation failure:
[ERROR] /usr/local/dspace/DSpace-dspace-7.6.5/dspace-api/src/main/java/org/dspace/importer/external/epo/service/EpoImportMetadataSourceServiceImpl.java:[32,46] error: package org.apache.jena.ext.xerces.impl.dv.util does not exist
[ERROR] /usr/local/dspace/DSpace-dspace-7.6.5/dspace-api/src/main/java/org/dspace/importer/external/epo/service/EpoImportMetadataSourceServiceImpl.java:[167,47] error: cannot find symbol
[ERROR]   symbol:   variable Base64
[ERROR]   location: class EpoImportMetadataSourceServiceImpl

Any idea what I am missing?

Thanks,
Nason

mw...@iu.edu

unread,
Mar 5, 2026, 9:00:26 AM (2 days ago) Mar 5
to dspac...@googlegroups.com
I ran into that recently while working on another part of DSpace. I
don't know why the symbol is no longer available, but I think DSpace
shouldn't be using that anyway. That class is internal to Xerces and,
I am told, deprecated. There are reports that the standard JRE
version is faster, too.

I was able to make it compile by replacing

-import org.apache.xerces.impl.dv.util.Base64;

with

+import java.util.Base64;

I haven't tested the result yet.

You will need to sort the new import into the other java.util imports
in its proper order or Checkstyle will complain.

If the change works for you, please let us know.

--
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
library.indianapolis.iu.edu

ORCiD: 0000-0002-9558-3768
signature.asc

Nason Bimbe

unread,
Mar 6, 2026, 7:15:39 AM (20 hours ago) Mar 6
to DSpace Technical Support
Hi Mark,

I have made the change on the import and also the following line and the build is fine.

/*params.put("Authorization", "Basic " + Base64.encode(authString.getBytes()));*/
params.put("Authorization", "Basic " + Base64.getEncoder().encodeToString(authString.getBytes()));


When I run dspace/bin/dspace filter-media I get the following...

The script has started
org.dspace.core.PluginInstantiationException: Cannot load plugin class: java.lang.ClassNotFoundException: org.dspace.app.mediafilter.PDFBoxThumbnail
        at org.dspace.core.LegacyPluginServiceImpl.getNamedPlugin(LegacyPluginServiceImpl.java:355)
        at org.dspace.app.mediafilter.MediaFilterScript.internalRun(MediaFilterScript.java:139)
        at org.dspace.scripts.DSpaceRunnable.run(DSpaceRunnable.java:150)
        at org.dspace.app.launcher.ScriptLauncher.executeScript(ScriptLauncher.java:155)
        at org.dspace.app.launcher.ScriptLauncher.handleScript(ScriptLauncher.java:133)
        at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:100)
Caused by: java.lang.ClassNotFoundException: org.dspace.app.mediafilter.PDFBoxThumbnail
        at org.dspace.core.PathsClassLoader.findClass(PathsClassLoader.java:131)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:469)
        at org.dspace.core.LegacyPluginServiceImpl.getNamedPlugin(LegacyPluginServiceImpl.java:343)
        ... 5 more


Regards,
Nason

mw...@iu.edu

unread,
Mar 6, 2026, 10:08:00 AM (17 hours ago) Mar 6
to dspac...@googlegroups.com
On Fri, Mar 06, 2026 at 12:15:39PM +0000, Nason Bimbe wrote:
> I have made the change on the import and also the following line and the build is fine.
>
> /*params.put("Authorization", "Basic " + Base64.encode(authString.getBytes()));*/
> params.put("Authorization", "Basic " + Base64.getEncoder().encodeToString(authString.getBytes()));

Good!

> When I run dspace/bin/dspace filter-media I get the following...
>
> The script has started
> org.dspace.core.PluginInstantiationException: Cannot load plugin class: java.lang.ClassNotFoundException: org.dspace.app.mediafilter.PDFBoxThumbnail
> at org.dspace.core.LegacyPluginServiceImpl.getNamedPlugin(LegacyPluginServiceImpl.java:355)
> at org.dspace.app.mediafilter.MediaFilterScript.internalRun(MediaFilterScript.java:139)
> at org.dspace.scripts.DSpaceRunnable.run(DSpaceRunnable.java:150)
> at org.dspace.app.launcher.ScriptLauncher.executeScript(ScriptLauncher.java:155)
> at org.dspace.app.launcher.ScriptLauncher.handleScript(ScriptLauncher.java:133)
> at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:100)
> Caused by: java.lang.ClassNotFoundException: org.dspace.app.mediafilter.PDFBoxThumbnail
> at org.dspace.core.PathsClassLoader.findClass(PathsClassLoader.java:131)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
> at java.base/java.lang.Class.forName0(Native Method)
> at java.base/java.lang.Class.forName(Class.java:469)
> at org.dspace.core.LegacyPluginServiceImpl.getNamedPlugin(LegacyPluginServiceImpl.java:343)
> ... 5 more

I think this is an unrelated problem. The fix for building affects
fetching metadata from the European Patent Office, which should have
no connection with thumbnail extraction. The "missing" class exists
in the latest sources and in 7.6.x, so the problem is that somehow it
is not on the classpath. Was it inadvertently deleted?
signature.asc

Nason Bimbe

unread,
Mar 6, 2026, 11:53:08 AM (15 hours ago) Mar 6
to DSpace Technical Support
Thank you Mark for spotting that. I had renamed the file and replacing it with the changed version. It working now.

Cheers,
Nason

Reply all
Reply to author
Forward
0 new messages