繁体   English   中英

安装JDK 7后无法构建项目

[英]Cant build project after installing jdk 7

在安装了jdk 7并在ide中为我的项目切换了Java平台之后,我在尝试构建项目时得到了这个。

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)

我知道太阳换了一些api或其他东西,但是ide并没有告诉我到底有什么错。 提前致谢。

您应该真正共享引起该异常的代码,但是该异常表明您正在使用内部Java API( com.sun软件包中包含的任何类)。 您不应该直接使用这些API,因为它们被视为私有实现,并且可能会发生变化。 由于这些API是私有的,因此它并不像寻找Javadoc来查看可用的方法那样简单,而是只要说出您要调用的方法不存在即可。 您有几种选择:

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

另外,如果您共享您的代码,我们可能会更好地为您提供帮助。

[edit]此外,请参见此页面以获取有关为什么不应该使用com.sun软件包中的类的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM