由于 accessExternalSchema 属性设置的限制而不允许 'file' 访问, 因此无法读取方案文档 '***.xsd'

在Deepin15.5系统下使用JDK1.8版本时,遇到了一个影响WebService客户端开发的问题。该问题是由于JDK的一个已知BUG(JDK-8020999)导致的。本文将详细介绍该问题的原因及解决方案,通过在JRE的lib目录下创建jaxp.properties文件,并设置javax.xml.accessExternalSchema属性为all来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

本人使用的操作系统为Deepin15.5,配置JDK版本和JRE版本为1.8.0_151。
使用IDEA开发WebService客户端时遇到这个问题。
在终端使用命令java -version

Picked up _JAVA_OPTIONS:   -Dawt.useSystemAAFontSettings=gasp
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

可以看到第一行有设置_JAVA_OPTIONS,按照其他教程中所说的配置/etc/profile文件,追加一行unset JAVA_TOOL_OPTIONS并不能起到作用。(很可能是操作系统的原因)


问题原因

使用JDK和JRE1.8版本时,有这样一个BUG。
详情见https://bugs.openjdk.java.net/browse/JDK-8020999


解决方案

在jdk的安装路径下的jre\lib下(我的路径为/usr/local/jdk1.8.0_151/jre/lib),添加一个属性文件jaxp.properties,并写上如下内容javax.xml.accessExternalSchema = all

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值