Fix rt-stps error "Failed to read external DTD"

Post Reply
arb
Posts: 14
Joined: Wed May 29, 2013 12:41 pm

Fix rt-stps error "Failed to read external DTD"

Post by arb »

I suspect an update to Java (I'm using the Oracle Java runtime) has broken rt-stps.

The error messages are:

Fatal Error: URI=file:///packages/viirs/drl/rt-stps/bin/../config Line=2: External DTD: Failed to read external DTD '', because 'file' access is not allowed.
gov.nasa.gsfc.drl.rtstps.core.RtStpsException: Fatal Error: URI=file:///packages/viirs/drl/rt-stps/bin/../config Line=2: External DTD: Failed to read external DTD '', because 'file' access is not allowed.
at gov.nasa.gsfc.drl.rtstps.core.Builder.create(Builder.java:102)
at gov.nasa.gsfc.drl.rtstps.Batch.main(Batch.java:59)
Caused by: org.xml.sax.SAXException: Fatal Error: URI=file:///packages/viirs/drl/rt-stps/bin/../config Line=2: External DTD: Failed to read external DTD '', because 'file' access is not allowed.
at gov.nasa.gsfc.drl.rtstps.core.Builder$MyErrorHandler.fatalError(Builder.java:434)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:180)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)

Here's the fix:

Create the world-readable file: /usr/lib/jvm/java-8-oracle/jre/lib/jaxp.properties

and give it the content:

javax.xml.accessExternalDTD=file,http

(you could probably miss off the ,http part)

References:
http://openjdk.java.net/jeps/185
https://blogs.oracle.com/joew/entry/jaxp_1_5_in_jdk8
Post Reply