带有jdk8和maven-jaxb2-plugin的SAXParseException

尼尔·德·湿

如果使用类似org.jvnet.jaxb2.maven2:maven-jaxb2-pluginxsd文件解析的插件,则从jdk7升级到jdk8时会遇到此异常:

org.xml.sax.SAXParseException; systemId: file:/D:/Work/my/schema.xsd; lineNumber: 27; columnNumber: 133; schema_reference: Failed to read schema document 'CoreComponentsTechnicalSpecification-1p0.xsd', because 'file' access is not allowed due to restriction set by the accessExternalSchema property.

您如何使该插件与jdk8一起使用?

尼尔·德·湿

这个问题有相同的根本原因是这一个有两种方法可以解决此问题:

设置javax.xml.accessExternalSchema系统属性:

如果仅在本地构建,则可以将此行添加到/path/to/jdk1.8.0/jre/lib下的名为jaxp.properties的文件中(如果不存在):

javax.xml.accessExternalSchema=all

如果您可能与其他人一起在项目上工作,这将不起作用,特别是如果他们仍在使用jdk7。您可以使用在命令行上指定的系统属性运行maven构建:

$mvn <target and options> -Djavax.xml.accessExternalSchema=all

您还可以使用插件为您设置系统属性:

<plugin>
    <!-- Needed to run the plugin xjc en Java 8 or superior -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-2</version>
    <executions>
        <execution>
            <id>set-additional-system-properties</id>
            <goals>
                <goal>set-system-properties</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <properties>
            <property>
                <name>javax.xml.accessExternalSchema</name>
                <value>all</value>
            </property>
            <property>
                <name>javax.xml.accessExternalDTD</name>
                <value>all</value>
            </property>
        </properties>
    </configuration>
</plugin>

您还可以配置maven-jaxb2-plugin来设置属性:

<plugin>
   <groupId>org.jvnet.jax-ws-commons</groupId>
   <artifactId>jaxws-maven-plugin</artifactId>
   <version>2.3</version>
   <configuration>
     <!-- Needed with JAXP 1.5 -->
     <vmArgs>
         <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
     </vmArgs>
   </configuration>
</plugin>

设置目标版本:如果您不想使用系统属性,则可以将maven-jaxb2-plugin目标版本设置为2.0:

<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <version>${maven.plugin.jaxb2.version}</version>
    <configuration>
        <args>
            <arg>-target</arg>
            <arg>2.0</arg>
        </args>
    </configuration>
</plugin>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jaxb2-maven-plugin:schemagen是否可与JDK8一起使用?

来自分类Dev

jaxb2-maven-plugin:schemagen是否可以与JDK8一起使用?

来自分类Dev

Maven JAXB2 插件无法处理绑定文件

来自分类Dev

XJC Maven插件(JAXB2 - Maven的插件)的Java 11个迁移问题

来自分类Dev

如何为JAXB2 Maven插件指定javax.xml.accessExternalSchema

来自分类Dev

带有JDk8的TLSv2带有MQ8的密码套件?

来自分类Dev

带有anox自定义的JAXB单独剧集失败:SAXParseException2

来自分类Dev

maven-jaxb2-plugin(Maven)生成的日期和时间

来自分类Dev

maven-jaxb2-plugin(Maven)生成的日期和时间

来自分类Dev

maven-jaxb2-plugin VS jaxb2-maven-plugin用于多个模式

来自分类Dev

jaxb2目标未调用

来自分类Dev

JAXB2源代码生成

来自分类Dev

不是使用Maven-jaxb2-plugin从xsd生成类的?

来自分类Dev

从xsd生成maven-jaxb2-plugin类(版本错误)

来自分类Dev

jaxb2-maven-plugin与JUnit4的集成

来自分类Dev

无法在JDK8上使用org.jvnet.jax-ws-commons.jaxws-maven-plugin

来自分类Dev

带有Jetty和JDK8的Openshift DIY墨盒

来自分类Dev

JAXB2类型限制不起作用?

来自分类Dev

jaxb2-maven-plugin只执行第一次执行

来自分类Dev

将XJB与jaxb2-maven-plugin一起使用

来自分类Dev

jaxb2-maven-plugin将类路径添加到生成的源

来自分类Dev

jaxb2-maven-plugin为默认值= INF的double生成无效的源

来自分类Dev

org.codehaus.mojo:jaxb2-maven-plugin 2.0在哪里?

来自分类Dev

如何在jaxb2-maven-plugin 2.5.0版本中排除情节文件的生成?

来自分类Dev

jaxb2-maven-plugin为默认值= INF的double生成无效的源

来自分类Dev

org.codehaus.mojo:jaxb2-maven-plugin 2.0在哪里?

来自分类Dev

JAXB-SAXParseException找不到元素的声明

来自分类Dev

使用jaxb2-annotate-plugin和XJC工具进行自定义注释

来自分类Dev

Jaxb2使用每个mvn clean软件包重新生成类

Related 相关文章

  1. 1

    jaxb2-maven-plugin:schemagen是否可与JDK8一起使用?

  2. 2

    jaxb2-maven-plugin:schemagen是否可以与JDK8一起使用?

  3. 3

    Maven JAXB2 插件无法处理绑定文件

  4. 4

    XJC Maven插件(JAXB2 - Maven的插件)的Java 11个迁移问题

  5. 5

    如何为JAXB2 Maven插件指定javax.xml.accessExternalSchema

  6. 6

    带有JDk8的TLSv2带有MQ8的密码套件?

  7. 7

    带有anox自定义的JAXB单独剧集失败:SAXParseException2

  8. 8

    maven-jaxb2-plugin(Maven)生成的日期和时间

  9. 9

    maven-jaxb2-plugin(Maven)生成的日期和时间

  10. 10

    maven-jaxb2-plugin VS jaxb2-maven-plugin用于多个模式

  11. 11

    jaxb2目标未调用

  12. 12

    JAXB2源代码生成

  13. 13

    不是使用Maven-jaxb2-plugin从xsd生成类的?

  14. 14

    从xsd生成maven-jaxb2-plugin类(版本错误)

  15. 15

    jaxb2-maven-plugin与JUnit4的集成

  16. 16

    无法在JDK8上使用org.jvnet.jax-ws-commons.jaxws-maven-plugin

  17. 17

    带有Jetty和JDK8的Openshift DIY墨盒

  18. 18

    JAXB2类型限制不起作用?

  19. 19

    jaxb2-maven-plugin只执行第一次执行

  20. 20

    将XJB与jaxb2-maven-plugin一起使用

  21. 21

    jaxb2-maven-plugin将类路径添加到生成的源

  22. 22

    jaxb2-maven-plugin为默认值= INF的double生成无效的源

  23. 23

    org.codehaus.mojo:jaxb2-maven-plugin 2.0在哪里?

  24. 24

    如何在jaxb2-maven-plugin 2.5.0版本中排除情节文件的生成?

  25. 25

    jaxb2-maven-plugin为默认值= INF的double生成无效的源

  26. 26

    org.codehaus.mojo:jaxb2-maven-plugin 2.0在哪里?

  27. 27

    JAXB-SAXParseException找不到元素的声明

  28. 28

    使用jaxb2-annotate-plugin和XJC工具进行自定义注释

  29. 29

    Jaxb2使用每个mvn clean软件包重新生成类

热门标签

归档