Эклим больше не обнаруживает основной класс?

Эклим работает.
:PingEclim доходность

  • эклим 2.3.2
  • затмение 4.3.1

Файл: Foo.java

public class Foo {
  public static void main(String[] args) {
    System.out.print("Foo");
  }
}

Запустив :Java, Мне преподносят ошибку

java.lang.RuntimeException: Required setting 'org.eclim.java.run.mainclass' has not been set.

Теперь я знаю, что могу вручную установить основной класс в настройках проекта, но раньше он работал, просто запустив :Java, Дополнительно могу добавить, что работает :Java % тоже не работает. Кажется, он просто неспособен определить мою основную функцию.

Обновление Включает вывод :Java % ниже.

Error: Could not find or load main class .Foo [java] Java Result: 1

Обновление 2
Похоже, что Eclim устанавливает основной класс в первый раз, когда он обнаруживает и запускает функцию Main внутри проекта. После этого попытка вручную запустить другой класс, содержащий основную функцию, приведет к указанной выше ошибке. Не уверен, как обойти это, но действительно должна быть возможность не быть привязанным к классу, который запускается первым.

1 ответ

У меня тоже была такая же проблема. Затем я обнаружил, что если основной класс включен в пакет, вы должны использовать полное имя класса. Например, если ваш основной класс начинается с:

package a.b.c;

Затем используйте настройку:

org.eclim.java.run.mainclass = a.b.c.Foo

После этого все должно работать нормально.

У меня такая же проблема. Я сравнил два проекта, один был сделан eclim, а другой - в eclipse, и нашел.

.classpath файл на:

затмение

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

эклим

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

поэтому я попытался изменить его на такой, как eclipse, и это сработало.

Другие вопросы по тегам