首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用WebService生成JDK8客户端错误

用WebService生成JDK8客户端错误
EN

Stack Overflow用户
提问于 2014-04-11 11:39:05
回答 24查看 190.2K关注 0票数 242

我需要在我的项目中使用一个web服务。我使用NetBeans,所以我正确地点击了我的项目,并尝试添加一个新的“”。上一次我检查,这是创建web服务客户端的方法。但结果却出现了一个AssertionError,它说:

jar:file:/path/to/glassfish/modules/jaxb-osgi.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd;:org.xml.sax.SAXParseException;systemId: java.lang.AssertionError lineNumber: 52;columnNumber: 88;schema_reference:未能读取模式文档“xjc.xsd”,因为由于accessExternalSchema属性设置的限制,不允许访问“文件”。

NetBeans的默认Java是JDK8 ( Oracle的官方版本),所以当我更改JDK8文件并将JDK7 (也是从JDK7)作为缺省版本时,一切都很好。所以我认为问题在于JDK8。下面是我的java -version输出:

java版本"1.8.0“ Java(TM) SE运行时环境(build 1.8.0-b132) Java HotSpot(TM) 64位服务器VM (build 25.0-b70,混合模式)

现在,我将JDK7作为我的默认。如果有办法使JDK8工作,请分享。

EN

回答 24

Stack Overflow用户

回答已采纳

发布于 2014-04-11 12:36:27

我找到了解决办法。(基于图式)

jaxp.properties下创建一个名为/path/to/jdk1.8.0/jre/lib的文件(如果它不存在的话),然后在其中写这一行:

代码语言:javascript
复制
javax.xml.accessExternalSchema = all

就这样。享受JDK 8。

票数 427
EN

Stack Overflow用户

发布于 2015-03-17 11:20:01

不是一个实际的答案,而是更多的作为参考。

如果您正在使用jaxws Maven插件,并且收到相同的错误消息,请将上述属性添加到插件配置中:

代码语言:javascript
复制
...
<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>
票数 125
EN

Stack Overflow用户

发布于 2014-07-15 02:43:53

我在Eclipse中运行ant构建(4.4,露娜,在Windows7 x64上)。与其修改已安装的JRE库或任何ant脚本(我在构建中包含了多个项目),我更喜欢更改Eclipse Settings“外部工具配置”,并将以下内容添加到Ant构建配置的VM参数中:

代码语言:javascript
复制
-Djavax.xml.accessExternalSchema=all
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23011547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档