当前位置: 首页 > 面试题库 >

Java 由于对所需库rt.jar的限制,对类的访问限制?

蒋星驰
2023-03-14
问题内容

我试图在不重新创建存根的情况下编译由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

这到底是怎么回事?这是我要用香肠重构猪的情况吗?我最好重新创建存根吗?


问题答案:

还有另一个解决方案,也可以。

  1. 转到项目属性中的“ 构建路径”设置。
  2. 删除JRE系统库
  3. 加回去;选择“添加库”,然后选择JRE系统库。默认为我工作。
    之所以可行,是因为你在不同的jar文件中有多个类。删除并重新添加JRE库将使正确的类成为第一位。如果需要基本解决方案,请确保排除具有相同类的jar文件。

对我来说,我有:javax.xml.soap.SOAPPart在三个不同的jar:axis-saaj-1.4.jar,saaj-api-1.3.jar和rt.jar



 类似资料:
  • 问题内容: 我试图在不重新创建存根的情况下编译由IBM的WSDL2Java在Java5上创建的Java 1.4代码,并在Eclipse中看到此错误。 我假设生成的存根应该只要运行时可用就可以编译。 jars 完整的班级名称是 javax.xml.namespace.QName 这到底是怎么回事?这是我要用香肠重构猪的情况吗?我最好重新创建存根吗? 问题答案: 还有另一个解决方案,也可以。 1, 转

  • 问题内容: 我在Eclipse中收到以下错误消息: 这是什么意思?在同一主题上还有另一个SO问题,但在这种情况下似乎不适用。我没有创建一个新的Java类,而是尝试使用一个。 问题答案: 猜测您正在使用的另一个库也需要Apache Commons I /O,但是版本不同。拥有一段代码(以传递方式)可以访问同一软件包的两个版本有些棘手。您可能可以安排它,以便您的代码和其他库使用相同的版本。使用CLAS

  • 问题内容: 这是代码: 这是错误: eclipse says this: 访问限制:类型“应用程序”不是API(对所需库“ /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/rt.jar”的限制) 问题答案: 这也发生在我身上,这里给出的答案已经不令人满意,所以我做了自己的研究。 背景:Eclipse 访

  • 代码如下: eclipse是这样说的: 访问限制:类型“Application”不是API(对所需库“/library/java/javavirtualmachines/jdk1.8.0_11.jdk/contents/home/jre/lib/rt.jar”的限制)

  • 我已经在网上搜索了这个问题,并找到了许多线程,给出了一个接近我一直遭受的问题的解决方案。 我收到一个访问限制错误,如下所述:访问限制:由于对所需库/opt/java/jdk1.8.0_31/jre/lib/rt.jar的限制,无法访问类型JFrame 在我的代码中,JFrame和JPanel下面有红线 我在这些线程中执行了所需的操作,但问题是尚未解决的访问限制:由于对所需库JDK1.6.0\jre

  • 我正在使用Gradle构建,其中包括: 它可以构建,这很好,但是eclipse插件在rt.jar类上给我带来了困难: 访问限制:由于对所需库/usr/local/apps/jdk1.8.0_11/jre/lib/rt.jar的限制,无法访问XMLSerializer类型 我理解。 现在我知道你会告诉我不要使用这些课程。但是你知道是怎么回事,我正在做一个古老的项目,我只需要让它暂时发挥作用。 我的第