同样的pom.xml正在使用maven-jaxb2-plugin v0.11但不能使用v0.12。
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<extension>true</extension>
<schemaDirectory>${basedir}/src/wsdl</schemaDirectory>
<schemaIncludes>
<schemaInclude>*.wsdl</schemaInclude>
</schemaIncludes>
<bindingDirectory>${basedir}/src/jaxws/</bindingDirectory>
<generateDirectory>${basedir}/target/jaxws/java</generateDirectory>
<strict>false</strict>
<verbose>true</verbose>
<forceRegenerate>true</forceRegenerate>
<args>
<arg>-Xfluent-api</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-fluent-api</artifactId>
<version>3.0</version>
</plugin>
</plugins>
</configuration>
</plugin>
原因是因为在修复#23之后返回null而不是&#34; systemId&#34;在MavenCatalogResolver.java中(第64行)
Caused by: java.lang.NullPointerException
at java.net.URI$Parser.parse(URI.java:3003)
at java.net.URI.<init>(URI.java:578)
at org.jvnet.jaxb2.maven2.resolver.tools.MavenCatalogResolver.getResolvedEntity(MavenCatalogResolver.java:64) at com.sun.org.apache.xml.internal.resolver.tools.CatalogResolver.resolveEntity(CatalogResolver.java:192)
为了使其正常工作,我的pom.xml的正确配置是什么?
答案 0 :(得分:4)
免责声明:我是maven-jaxb2-plugin
的作者。
请提交问题here并向我发送一个示例项目进行重现(最好的是对tests的拉取请求。
我会尽快解决这个问题。
我想知道传递的systemId
如何null
,但无论如何它都是一个错误。将尽快修复,我只需要一个测试项目来重现。
<强>更新强>
0.12.2版本修复了您报告的NPE。但是,我不确定它是否修复了您的构建。你可能有一个不同的问题。我想知道systemId
如何为空。
请将复制项目发给我进一步测试。
通常情况下,GitHub上的文件错误和问题会更好,而不是在SO上发布。