java-ee - javaee - jdk
Restricción de acceso en jdk1.7/jre/lib/rt.jar (4)
Hola gente, enfrenté una situación muy extraña al crear mi analizador JAXB. Cuando intenté generar clases JAXB desde eclipse, en una clase muestra un error muy extraño que es
Access restriction: The type QName is not accessible due to restriction on required library /usr/lib/jvm/jdk1.7.0_02/jre/lib/rt.jar
esta es mi clase
package generated;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
//import javax.xml.namespace.QName;
import javax.xml.namespace.*;
@XmlRegistry
public class ObjectFactory {
Y AQUÍ EN ESTA LÍNEA RECIBO EL MENSAJE DE ERROR
privado QName final estático _ExpenseReport_QNAME = nuevo QName ("", "costoReport");
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: generated
*
*/
public ObjectFactory() {
}
/**
* Create an instance of {@link ExpenseT }
*
*/
public ExpenseT createExpenseT() {
return new ExpenseT();
}
/**
* Create an instance of {@link UserT }
*
*/
public UserT createUserT() {
return new UserT();
}
/**
* Create an instance of {@link ItemT }
*
*/
public ItemT createItemT() {
return new ItemT();
}
/**
* Create an instance of {@link ItemListT }
*
*/
public ItemListT createItemListT() {
return new ItemListT();
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link ExpenseT }{@code >}}
*
*/
@XmlElementDecl(namespace = "", name = "expenseReport")
public JAXBElement<ExpenseT> createExpenseReport(ExpenseT value) {
return new JAXBElement<ExpenseT>(_ExpenseReport_QNAME, ExpenseT.class, null, value);
}
}
Esta situación se puede resolver de la siguiente manera:
1: Vaya a la sección Compilador de Java del cuadro de diálogo Propiedades del proyecto y luego a Errores y advertencias. 2 - Marque Habilitar ajustes específicos del proyecto. 3 - Dentro de la API Desaprobada y restringida, cambie la Referencia prohibida (regla de acceso) a Advertencia o Ignorar.
4 - Por favor, no me olvides en tu oración.
Este problema se produce cuando la ruta de su clase hace referencia a JRE
lugar del JDK
en el que está abierto el Proyecto, haga una cosa, vaya a
Construir ruta> Bibliotecas
Elimine el tiempo de ejecución que se incluye y agregue el tiempo de ejecución jdk
, debería resolver su problema ahora.
Me llegó el siguiente error: Restricción de acceso:
El tipo XmlRegistry no es accesible debido a la restricción en la biblioteca requerida C: / Archivos de programa (x86) / Java / jre7 / lib / rt.jar
Esta es la forma en que solucioné el mismo problema que tenía:
1.Go to the Build Path settings in the project properties. (Right click on your application, then in the popout window you will see ''Build Path'', slide right and click on ''Configure Build Path...'')
2.Remove the JRE System Library
3.Add it back; Select "Add Library" and select the JRE System Library.
El defecto funcionó para mí.
Simplemente elimine y vuelva a agregar la misma biblioteca del sistema JRE.
Nota: asegúrese de hacer clic en ''Aceptar'' y cierre el cuadro de diálogo para ambos mientras elimina y vuelve a agregar.