使用JDK11运行jaxb2-maven-plugin (2.5.0)时出现错误。
pom.xml:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<executions>
<execution>
<id>xjc_test</id>
<phase>generate-sources</phase>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<sources>
<source>../a/b/c/myschema.xsd</source>
</sources>
<clearOutputDir>false</clearOutputDir>
<outputDirectory />
</configuration>
</execution>
</executions>
</plugin>错误:
[ERROR] null [-1,-1]
org.xml.sax.SAXParseException; schema_reference.4: Failed to read schema document 'file:/home/userE/eclipse-workspace-201809/parent/testjaxb/home/userE/eclipse-workspace-201809/parent/a/b/c/myschema.xsd', 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>
[ERROR] Failed to execute goal org.codehaus.mojo:jaxb2-maven-plugin:2.5.0:xjc (xjc_test) on project xxx:
[ERROR] +=================== [XJC Error]
[ERROR] |
[ERROR] | 0: file:/home/userE/eclipse-workspace-201809/parent/a/b/c/myschema.xsd
[ERROR] |
[ERROR] +=================== [End XJC Error]如果我在pom.xml中放置了错误的源路径,它将失败,因此我可以假定它找到了正确的.xsd文件。我不理解schema_reference,它是从哪里来的。
对于信息,我的.xsd看起来是这样的:(他在另一个项目中)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
</xs:schema>发布于 2021-04-23 18:01:27
尝试像这样引用basedir:
..
<sources>
<source>${project.basedir}/src/main/resources/your_folder/your_xsd.xsd</source>
</sources>
..https://stackoverflow.com/questions/58708002
复制相似问题