我试图捕获 ClientTransportException,但我的程序在编译阶段失败,出现以下异常
[ERROR]\workspace\rates\java\service\bundle1\src\main\java\com\connector\ws\TestClass1.java:[72,70] package com.sun.xml.internal.ws.client does not exist
据我所知,这个包来自 rt.jar 并存在于 jre 中
如果我添加 @SuppressWarnings("restriction") ,它会从 Eclipse Maven 插件编译,但不会从 IntelliJ Idea(通过 maven)或命令行编译。
当我删除 @SuppressWarnings Eclipse 时显示以下警告
Access restriction: The type ClientTransportException is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar
我发现类似的question https://stackoverflow.com/questions/1269319/package-com-sun-xml-internal-bind-v2-model-annotation-does-not-exist但它的答案对我来说不够清楚,因为我可以在 rt.jar 中看到这个类,并且我的 IntelliJ Idea 也可以看到它。
有人可以解释这种行为及其可能的解决方案吗?
根据这个FAQ http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html直接调用“sun”包是一种不好的做法。当我遇到同样的问题时,它是通过捕获来解决的javax.xml.ws.WebServiceException
相反(如艺术布里斯托尔建议)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)