首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装jdk 7后无法生成项目

安装jdk 7后无法生成项目
EN

Stack Overflow用户
提问于 2011-12-17 01:30:14
回答 1查看 1.5K关注 0票数 0

在ide中为我的项目安装了jdk7并切换了java平台后,我在尝试构建项目时得到了这个消息。

代码语言:javascript
复制
warning: [options] bootstrap class path not set in conjunction with -source 1.6


An annotation processor threw an uncaught exception.
Consult the following stack trace for details.
java.lang.NoSuchMethodError: com.sun.tools.javac.util.Name$Table.instance(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Name$Table;
    at uk.org.retep.util.javac.JavacUtils.<init>(JavacUtils.java:128)
    at uk.org.retep.util.annotation.AnnotationScannerProcessor.process(AnnotationScannerProcessor.java:76)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:722)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1106)
    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)
    at com.sun.tools.javac.main.Main.compile(Main.java:419)
    at com.sun.tools.javac.main.Main.compile(Main.java:333)
    at com.sun.tools.javac.main.Main.compile(Main.java:324)
    at com.sun.tools.javac.Main.compile(Main.java:76)
    at com.sun.tools.javac.Main.main(Main.java:61)

我知道sun改变了一些api或者别的什么,但是ide并没有告诉我到底出了什么问题。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-17 01:40:27

您真的应该分享导致异常的代码,但是异常表明您正在使用内部Java API ( com.sun包中包含的任何类)。您不应该直接使用这些API,因为它们被认为是私有实现,可能会发生变化。因为这些API是私有的,所以查找Javadoc来查看可用的方法并不那么简单,但只要说您正在调用的方法不存在就足够了。您有几个选项:

  1. 如果你直接调用这个方法,你需要重构。您应该寻找使用公共API来完成相同工作的方法。
  2. 如果在调用库方法后发生这种情况,您应该向库维护人员提交错误报告,告知他们使用com.sun API的错误和风险。
  3. 如果在调用公共Java API( javajavax程序包中的任何内容)后发生这种情况,则应该向Oracle提交错误报告。不过,这似乎不太可能。

另外,如果你分享你的代码,我们也许能更好地帮助你。

进一步编辑,请参阅this page,了解有关不应在com.sun包中使用类的原因的更多信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8537920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档