【问题标题】:Maven maven-jaxb2-plugin and HTTP 302Maven maven-jaxb2-plugin 和 HTTP 302
【发布时间】:2015-10-07 09:33:21
【问题描述】:

我正在使用 Maven 3.3.3 和 maven-jaxb2-plugin 版本 0.12.1 从 XSD 模式生成 java 类。 XSD所在的地址返回HTTP 302,插件抛出:

[ERROR] Error while parsing schema(s).Location [ http://www.gzs.si/e-poslovanje/sheme/eSlog_1-5_EnostavniRacun_signature.xsd{1,30}].
org.xml.sax.SAXParseException; systemId: http://www.gzs.si/e-poslovanje/sheme/eSlog_1-5_EnostavniRacun_signature.xsd; lineNumber: 1; columnNumber: 30; s4s-elt-character: Non-whitespace characters are not allowed in schema elements o
ther than 'xs:appinfo' and 'xs:documentation'. Saw 'Document Moved'.

是否可以指定以及如何让 xjc 编译器遵循 302 到正确的链接或不去尝试下载 XSD?

【问题讨论】:

  • 用您的浏览器浏览 XSD,检查它会将您重定向到哪里并更新您的 POM 中的 URL 怎么样?
  • 嗯,我该怎么做,因为现在我的 pom.xml 中没有它。除了 XSD 有一个链接到另一个 XSD 也返回 302

标签: maven jaxb maven-jaxb2-plugin


【解决方案1】:

免责声明:maven-jaxb2-plugin 的作者在这里。

您遇到了以下问题:

这是by design。

您使用catalogs 的解决方案是正确的。但你很可能不需要ClasspathCatalogResolver。

【讨论】:

  • 太棒了。如果我找到了解决方案,那么这意味着你们有很好的文档。 :) 我在 WS-I 文档中发现服务器应该返回 307 而不是 30,但不幸的是我无法控制该服务器。
【解决方案2】:

我通过使用 catalog.xml 解决了这个问题:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>                                                                                                                                                                                  
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">                                                                                                                                                           
     <rewriteSystem systemIdStartString="http://www.gzs.si" rewritePrefix="https://www.gzs.si"/>                                                                                                                                        
</catalog>

然后在我的 pom.xml 中:

<plugin>
                <groupId>org.jvnet.jaxb2.maven2</groupId>
                <artifactId>maven-jaxb2-plugin</artifactId>
                <version>0.12.1</version>
                <executions>
                    ...
                </executions>
                <configuration>
                    <strict>false</strict>
                    <catalog>src/main/resources/jaxb/catalog.xml</catalog>
                    <catalogResolver>org.jvnet.jaxb2.maven2.resolver.tools.ClasspathCatalogResolver</catalogResolver>
                    <generateDirectory>${project.build.directory}/generated-sources/xjc</generateDirectory>
                    <verbose>true</verbose>
                </configuration>
            </plugin>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 2018-03-21
    相关资源
    最近更新 更多