简体   繁体   English

Jaxb2-maven-plugin 错误 java11 schema_reference

[英]Jaxb2-maven-plugin Error java11 schema_reference

I have an error when running the jaxb2-maven-plugin (2.5.0) with JDK11.使用 JDK11 运行 jaxb2-maven-plugin (2.5.0) 时出现错误。

pom.xml: 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:错误:

 [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]

If I put a wrong source path in the pom.xml it fails, so I can assume that it finds the correct.xsd file.如果我在 pom.xml 中输入了错误的源路径,它会失败,所以我可以假设它找到了正确的.xsd 文件。 I don't understand the schema_reference, where does it come from.我不明白 schema_reference,它来自哪里。

For info my.xsd looks like: (he's located on another project)有关信息 my.xsd 看起来像:(他位于另一个项目上)

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    ...
</xs:schema>

try to put reference to basedir like so:尝试像这样引用 basedir:

..    
<sources>                                
   <source>${project.basedir}/src/main/resources/your_folder/your_xsd.xsd</source>
</sources>
..

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM