我正在尝试编译由IBM的WSDL2Java在Java5上创建的Java 1.4代码,而无需重新创建存根并在Eclipse中看到此错误.我假设创建的存根应该只要运行时jar可用就可以编译(它们是).
Access restriction: The type QName is not accessible due to restriction on required library C:\Program Files\Java\jdk1.5.0_16\jre\lib\rt.jar
完整的类名是 javax.xml.namespace.QName
到底发生了什么?
这是我试图用香肠重构一头猪的情况吗?我最好重新创建存根吗?
我正在尝试修改一些遗留代码,同时又出现以下类型的错误:
访问限制:由于对所需库的限制,无法访问Headers类型中的方法create(JAXBRIContext,Object)..\jre\lib\rt.jar
对于这些进口声明:
import com.sun.xml.internal.bind.api.JAXBRIContext;
import com.sun.xml.internal.ws.api.message.Header;
import com.sun.xml.internal.ws.api.message.Headers;
import com.sun.xml.internal.ws.developer.WSBindingProvider;
Run Code Online (Sandbox Code Playgroud)
一直在寻找这可能意味着什么,以及如何解决它,但无法找到一个明确的答案.一些帖子似乎暗示我有一些JAR包含了实现类,这些类现在可用作核心java发行版的一部分,但据我所知,我所包含的JAR中没有包含上述类的不同/旧版本.
任何人都能告诉我这个错误是什么以及我如何解决这个问题?
感谢您提前提供的帮助,
奥利
大家好,我在创建JAXB解析器时遇到了一个非常奇怪的问题.当我试图从eclipse生成JAXB类时,在一个类中它显示了一个非常奇怪的错误
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
Run Code Online (Sandbox Code Playgroud)
这是我的班级
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 {
Run Code Online (Sandbox Code Playgroud)
在这条线上,我正在收到错误消息
private final static QName _ExpenseReport_QNAME = new QName("","expenseReport");
/**
* 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 }
* …Run Code Online (Sandbox Code Playgroud)