2012-05-25 3 views
0

У меня есть эта действительно странная проблема, работающая над большим проектом в Eclipse Indigo 3.7.2. Я проверил проекта из репозитория SVN с помощью Subclipse плагина и когда я запустить приложение, я получаю следующее сообщение об ошибке:Eclipse Неразрешенная компиляция

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 выглядит, содержащий основной метод:

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-файлы и ссылки на другие пакеты.
Эта проблема возникает только на моем ноутбуке. На моем другом ПК все работает отлично, а мой сокурсник, который работает в одном проекте, тоже не имеет проблем. Я уже пробовал проверять проект, очищая его и даже переустанавливая затмение.
Теперь вот странная часть: Если я закомментируйте основной метод весь, оставив только что-то вроде

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!» на выходе.
Есть ли у кого-нибудь идеи, из которых возникла проблема?

ответ

2

Ваша проблема кажется либо ошибкой в ​​коде, который я не вижу, либо ваш экземпляр/компилятор Eclipse попал в странное состояние, из которого он не может восстановиться.

Просто некоторые основные идеи, чтобы проверить

  1. Пытались ли вы перезапустить Eclipse?
  2. Вы используете ту же версию Java на всех компьютерах? Например. могут возникнуть некоторые несовместимости между Java 6 и Java 7.
  3. Включена ли автоматическая сборка? Посмотрите в пункт меню Project/Build автоматически. Возможно, автоматический построитель Java отключился, и, следовательно, он не перекомпилирует ваш код.
  4. Вы пытались очистить свой проект, чтобы заставить перестроить? (Проект/Очистить пункт меню).
  5. Установлен ли JDT в экземпляр Eclipse? Это должно быть, но это может стоить проверить такую ​​тривиальную проблему.
  6. Возможно, вам следует попытаться создать новое рабочее пространство и снова проверить проекты.
    • Вы также можете попробовать загрузить Eclipse снова с этой новой идеей рабочей области.

Если ни одна из этих вещей работают, я понятия не имею, что искать.

+1

Спасибо за ваш ответ. Я попробовал Project/Clean и изменил вывод на: Исключение в потоке «main» 'java.lang.NoClassDefFoundError: anares/start/Startconsole Вызвано: java.lang.ClassNotFoundException: anares.start.Startconsole ...' Поэтому я просто попытаюсь найти то, что я нашел об этой ошибке. – codegirl

+1

Шаг 4 помогли в моем случае (потерялись зависимости после жесткой перезагрузки) – nefski

0

Просмотрите вопрос Затмения (вкладка); о каких-либо проблемах с компиляцией в проекте будет сообщено там. Вы можете дважды щелкнуть по ошибке или предупреждению в окне «Проблемы», и редактор откроется на конкретной строке, которая является проблемой.

+0

Когда я смотрю там, я получаю сообщение об ошибке: «Архив для требуемой библиотеки:« englischPCFG.ser.gz »в проекте« AnaRes »не может быть прочитан или msgstr "недействительный ZIP-файл". Я тоже не понимаю эту ошибку, потому что файл должен быть в порядке, он отлично работает на двух других машинах. Я попытался заменить его недавно загруженным, но это не помогло. – codegirl

+0

Проблема, похоже, возникла из-за проблемы в svn-репозитории. Теперь архитектура репозитория обновлена, и все снова работает отлично. В любом случае, спасибо за вашу помощь и ваши ответы! – codegirl

-1

Сделайте одно дело, просто удалите путь сборки englischPCFG.ser.gz из вашего проекта, потому что я уверен, что это не файл jar, который вы добавили в свой проект.

Смежные вопросы