Este error es raro y no puedo encontrarle mucho sentido. Instalé EclipseRCP 3.5.1, Java SE 1.6 actualización 16 y cambié a SWT 3.5. Creé un nuevo proyecto, configuré las dependencias y traté de compilar. Cuando se trata de importar, utilizar lo siguiente:Eclipse 3.5.1 Error del compilador: El tipo OutputFormat no es accesible debido a la restricción en la biblioteca requerida ../rt.jar
import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
me sale el error:
Access restriction: The type XMLSerializer is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar.
ya he Google él, leer algunas respuestas here..and el problema sigue ahí. Lo curioso es que si uso el EclipseRCP anterior (Version: 3.4.2), este problema nunca ocurre. La versión 3.4.2 usa la misma versión de JRE, y acabo de probar la versión de SWT. Funciona bien. Supongo que el problema se basa en algún complemento del nuevo IDE. ¿Algunas ideas?
P.S. Encontré esto article. Pero no me gusta o no quiero cambiar el código si no es necesario. Cuál es la fuente del problema primero, y la solución seguirá ...
Sí, soy consciente de la configuración del eclipse para evitar el problema, pero la misma configuración estaba en la versión anterior de RCP, y no tuve el problema. Nunca escuché eso antes ... así que, ¿por qué ese paquete es com.sun? incluso existe, si no se recomienda su uso? – hypercube
El propósito de las importaciones era leer/escribir archivos XML, ya que entiendo que JDK1.6 tiene analizadores XML integrados. ¿Sugiere que no se puede hacer porque no se debe usar com.sun. *? – hypercube
Es utilizado internamente por las API públicas, probablemente JAXB o algo así. Si necesita las clases directamente, en su lugar debería agregar Apache Xerces-J como biblioteca y usar las clases org.apache.xml.serialize.OutputFormat y org.apache.xml.serialize.XMLSerializer en su lugar. – jarnbjo