Eclipse 3.5.1编译器错误:由于对所需库../rt.jar的限制,无法访问OutputFormat类型

hyp*_*ube 6 java restriction

这个错误很奇怪,我无法理解它.我安装了EclipseRCP 3.5.1,Java SE 1.6 update 16并切换到SWT 3.5.我已经创建了一个新项目,设置了依赖项并尝试编译.尝试导入时,请使用以下命令:

import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Access restriction: The type XMLSerializer is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar.
Run Code Online (Sandbox Code Playgroud)

我已经谷歌了,在这里阅读一些回复......问题仍然存在.有趣的是,如果我使用以前的EclipseRCP(版本:3.4.2),这个问题永远不会发生.3.4.2版本使用相同的JRE版本,我刚刚测试了SWT版本.工作良好.我想这个问题依赖于新IDE的一些插件.有任何想法吗?

PS我发现了这篇文章.但我不喜欢或想要更改代码,如果我不需要.首先是问题的根源是什么,解决方案将遵循......

jar*_*bjo 10

Eclipse编译器的默认配置过于严格.您可以通过打开Java - >编译器 - >错误/警告的首选项来放松它,并在"不推荐使用和受限制的API"下将"禁止引用(访问规则)"的设置从错误更改为警告或忽略.

但问题是,您是否真的想要使用com.sun.-package中的类,因为无法保证这些类在来自不同供应商的VM或Sun中的较新VM中可用.