Сбой jaxws-maven-plugin в Java 11 с JAXP09020006: аргумент 'systemId' не может быть пустым - PullRequest
0 голосов
/ 24 июня 2019

Я использую jaxws-maven-plugin для моего проекта SOAP. Я хочу построить его с Java 11 (он работает нормально на Java 8). У меня последняя версия Maven (3.6.1). Я использую решение от https://github.com/phax/jaxws-maven-plugin#mojohaus-jax-ws-maven-plugin:

<groupId>com.helger.maven</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.6.1</version>
<configuration>
... the same as worked OK for MojoHaus jaxws-maven-plugin 2.5
</configuration>

Я получаю следующую ошибку:

Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.mojo.jaxws.Invoker.main(Invoker.java:99)
Caused by: java.lang.NullPointerException: JAXP09020006: The argument 'systemId' can not be null.
at java.xml/javax.xml.catalog.CatalogMessages.reportNPEOnNull(CatalogMessages.java:129)
at java.xml/javax.xml.catalog.CatalogResolverImpl.resolveEntity(CatalogResolverImpl.java:70)
at com.sun.tools.xjc.ModelLoader$1.resolveEntity(ModelLoader.java:398)
at com.sun.xml.xsom.impl.parser.NGCCRuntimeEx.resolveRelativeURL(NGCCRuntimeEx.java:191)
at com.sun.xml.xsom.impl.parser.NGCCRuntimeEx.importSchema(NGCCRuntimeEx.java:256)
at com.sun.xml.xsom.impl.parser.state.importDecl.action0(importDecl.java:56)
at com.sun.xml.xsom.impl.parser.state.importDecl.leaveElement(importDecl.java:167)
at com.sun.xml.xsom.impl.parser.state.NGCCRuntime.endElement(NGCCRuntime.java:289)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
at com.sun.tools.xjc.util.SubtreeCutter.endElement(SubtreeCutter.java:82)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
at com.sun.tools.xjc.reader.xmlschema.parser.CustomizationContextChecker.endElement(CustomizationContextChecker.java:169)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
at com.sun.tools.xjc.reader.internalizer.DOMForestScanner$LocationResolver.endElement(DOMForestScanner.java:110)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:225)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:251)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:220)
at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:97)
at com.sun.tools.xjc.reader.internalizer.DOMForestScanner.scan(DOMForestScanner.java:62)
at com.sun.tools.xjc.reader.internalizer.DOMForestScanner.scan(DOMForestScanner.java:70)
at com.sun.tools.xjc.reader.internalizer.DOMForestParser.parse(DOMForestParser.java:74)
at com.sun.tools.xjc.ModelLoader$XMLSchemaParser.parse(ModelLoader.java:210)
at com.sun.xml.xsom.impl.parser.NGCCRuntimeEx.parseEntity(NGCCRuntimeEx.java:351)
at com.sun.xml.xsom.impl.parser.ParserContext.parse(ParserContext.java:98)
at com.sun.xml.xsom.parser.XSOMParser.parse(XSOMParser.java:141)
at com.sun.xml.xsom.parser.XSOMParser.parse(XSOMParser.java:130)
at com.sun.tools.xjc.ModelLoader.createXSOM(ModelLoader.java:475)
at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:239)
at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:65)
at com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:112)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2268)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:168)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:111)
at com.sun.tools.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:414)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:175)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:153)
... 5 more

Мне кажется, что он жалуется на jax-ws-catalog.xml, но точно такой же файл работает нормально для Java 1.8, и я не могу найти в нем никакой ошибки (особенно нет странных строк systemId).

Более того, я получаю ту же ошибку при использовании

<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.3.2</version>
...