-
Notifications
You must be signed in to change notification settings - Fork 77
Description
Class org.postgresql.pljava.sqlj.Loader creates URL containing protocol "dbf" which is not supported by java.net.URL and therefore when the URL is created by org.postgresql.pljava.sqlj.Loader opening it by java.net.URL causes exception: java.net.MalformedURLException: unknown protocol: dbf
In my case I'm trying to compile Jasper report and the following exception occurs when run within pljava:
net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 402; schema_reference.4: Failed to read schema document 'dbf://localhost/1057338', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>. at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:303) at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:286) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:275) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:220) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:195) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:186) at net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:254) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:555) at net.blahovec.framework.report.JasperReportsLib$ReportCompileTaskInternal.compile(JasperReportsLib.java:625) at net.blahovec.pg.lib.PgSysReportLib.reportLayoutJasperCompile(PgSysReportLib.java:44) at net.blahovec.pg.BlahovecNetPg.sysReportLayoutJasperCompile(BlahovecNetPg.java:111) at org.postgresql.pljava.internal@1.6.0-SNAPSHOT/org.postgresql.pljava.internal.EntryPoints.refInvoke(EntryPoints.java:53) Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 402; schema_reference.4: Failed to read schema document 'dbf://localhost/1057338', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>. at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204) at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:306) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4257) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4240) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument1(XSDHandler.java:2531) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:2238) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:588) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.processJAXPSchemaSource(XMLSchemaLoader.java:844) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:606) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:2710) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2069) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:829) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3063) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:836) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) at org.apache.commons.digester.Digester.parse(Digester.java:1892) at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:299) ... 11 more Caused by: java.net.MalformedURLException: unknown protocol: dbf at java.base/java.net.URL.<init>(URL.java:652) at java.base/java.net.URL.<init>(URL.java:541) at java.base/java.net.URL.<init>(URL.java:488) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:649) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:150) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse(SchemaParsingConfig.java:593) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse(SchemaParsingConfig.java:696) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaDOMParser.parse(SchemaDOMParser.java:530) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:2226) ... 31 more
The same code works without any problem when I run it directly in Java (executed from Eclipse in my case).
I'm using JDK11.0.6 but I've tried OpenJDK 11.0.7 with the same result.