0

我在 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。
现在这是奇怪的部分:如果我注释掉整个主要方法,只留下类似的东西

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!” 在输出中。
有谁知道问题出在哪里?

4

3 回答 3

3

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

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

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

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

于 2012-05-25T19:01:30.483 回答
0

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

于 2012-05-25T20:39:06.653 回答
-1

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

于 2015-02-04T12:33:16.740 回答