【问题标题】:Eclipse Unresolved compilationEclipse 未解决的编译
【发布时间】:2012-05-25 14:47:16
【问题描述】:

我在 Eclipse Indigo 3.7.2 中处理一个更大的项目时遇到了这个非常奇怪的问题。 我使用 Subclipse 插件从 SVN 存储库中签出项目,当我启动应用程序时,我收到以下错误消息:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 

at anares.preprocess.StanfordParser.getInstance(StanfordParser.java:73)
at anares.start.Startconsole.<init>(Startconsole.java:22)
at anares.start.Startconsole.main(Startconsole.java:52)

这是 Startconsole.class 的样子,包含 main 方法:

package anares.start;

import java.io.FileNotFoundException;
import java.io.IOException;

import anares.core.AnaResAlgorithm;
import anares.preprocess.MorphaDornerSentenceSplitter;
import anares.preprocess.CollectionEquipper;
import anares.preprocess.ParserHandlerInterface;
import anares.preprocess.Preprocessor;
import anares.preprocess.SplitterInterface;
import anares.preprocess.StanfordParser;
import anares.text.AnaResTextObject;

public class Startconsole {

public final ParserHandlerInterface parserint = StanfordParser.getInstance();

public final SplitterInterface splitterint = MorphaDornerSentenceSplitter.getInstance();

public final CollectionEquipper equipperint = null;

public final static int buffersize = 5;

private Startconsole(String file) throws IOException {
    AnaResTextObject object = startPreprocess(file);
    startAlgorithm(object);
}

private AnaResTextObject startPreprocess(String file) throws IOException {
    Preprocessor prepro = new Preprocessor(parserint, splitterint,
            equipperint);
    AnaResTextObject textObject = prepro.preprocessText(file);
    return textObject;
}

private void startAlgorithm(AnaResTextObject object) {
    AnaResAlgorithm algo = new AnaResAlgorithm(buffersize);
    algo.resolveAnaphora(object);
}

public static void main(String args[]) throws FileNotFoundException,
        IOException {
    if(args.length > 0){
        Startconsole console = new Startconsole(args[0]);
    }else{
        Startconsole console = new Startconsole("Text.txt");
    }
    }
}

正如我所说,这是一个更大的项目,因此包含一些 .jar 文件和对其他包的引用。
这个问题只发生在我的笔记本电脑上。在我的另一台 PC 上一切正常,我的一个从事同一个项目的同学也没有任何问题。 我已经尝试再次检查项目,清理它,甚至重新安装 eclipse。
现在这是奇怪的部分:如果我注释掉整个 main 方法,只留下类似

public static void main(String args[]) throws FileNotFoundException,
        IOException {
//      if(args.length > 0){
//          Startconsole console = new Startconsole(args[0]);
//      }else{
//          Startconsole console = new Startconsole("Text.txt");
//      }
    System.out.println("Hello World!");
}

我仍然会收到完全相同的错误消息和完全相同的行号。并且没有“Hello World!”在输出中。
有没有人知道问题出在哪里?

【问题讨论】:

    标签: eclipse compiler-errors


    【解决方案1】:

    您的问题似乎是代码中存在我看不到的错误,或者您的 Eclipse 实例/编译器进入了无法恢复的奇怪状态。

    只是一些基本的想法来检查

    1. 您是否尝试过重新启动 Eclipse?
    2. 您是否在所有计算机上使用相同版本的 Java?例如。 Java 6 和 Java 7 之间可能存在一些不兼容性。
    3. 是否开启了自动构建?查看 Project/Build automatically 菜单项。自动 Java 构建器可能已关闭,因此它不会重新编译您的代码。
    4. 您是否尝试清理您的项目以强制重建? (项目/清理菜单项)。
    5. 您的 Eclipse 实例中是否安装了 JDT?应该是这样,但对于此类琐碎的问题可能值得检查。
    6. 也许您应该尝试创建一个新工作区,然后再次签出项目。
      • 您也可以尝试使用这个新的工作区创意再次下载 Eclipse。

    如果这些都不起作用,我不知道该寻找什么。

    【讨论】:

    • 感谢您的回答。我尝试了 Project/Clean 并将输出更改为:线程“main”中的异常java.lang.NoClassDefFoundError: anares/start/Startconsole Caused by: java.lang.ClassNotFoundException: anares.start.Startconsole... 所以我将尝试找出我发现的关于该错误的内容。
    • 第 4 步对我有帮助(在硬重启后丢失了依赖项)
    【解决方案2】:

    查看 Eclipse 的 Problems 视图(选项卡);项目中的任何编译问题都将在那里报告。您可以双击 Problems 视图中的错误或警告,编辑器将在出现问题的特定行上打开。

    【讨论】:

    • 当我查看时收到错误消息:“所需库的存档:项目 'AnaRes' 中的 'englischPCFG.ser.gz' 无法读取或不是有效的 ZIP 文件”。我也不明白这个错误,因为文件应该没问题,它在另外两台机器上工作正常。我尝试用新下载的替换它,但没有帮助。
    • 问题似乎来自 svn-repository 中的问题。现在存储库架构已更新,一切正常。无论如何,感谢您的帮助和回答!
    【解决方案3】:

    做一件事只是从你的项目中删除englischPCFG.ser.gz的构建路径,因为我确定这不是你在项目中添加的jar文件

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 1970-01-01
      • 2013-04-29
      • 2017-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多