Eclim - Что установить org.eclim.java.run.mainclass?

У меня проблемы с получением команды:Java для работы в eclim. Когда я запускаю его, я получаю:

java.lang.RuntimeException: Required setting 'org.eclim.java.run.mainclass' has not been set.
    at org.eclim.plugin.jdt.command.src.JavaCommand.execute(JavaCommand.java:107)
    at org.eclim.command.Main.main(Main.java:89)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.martiansoftware.nailgun.NGSession.run(NGSession.java:334)

Кажется, есть много объяснений того, как это исправить, например, этот пост в SO или здесь, но все они говорят "установить свойство org.eclim.java.run.mainclass вашего проекта" через:ProjectSettings. У меня вопрос, что мне установить? Независимо от того, что я добавляю, когда пытаюсь записать изменения, vim говорит: "Операция содержала ошибки. Подробности смотрите в списке местоположений"

3 ответа

Как я попал сюда из Google, я отправлю ответ:

Вам нужно установить имя класса с помощью main метод. Так, например, если у вас есть только один класс:

class HelloKittieTest {
  public static void main (String [] args)
  {
    System.out.println("Hello Kittie");
  }
}

Сохраните файл, запустите :ProjectSettings команда, которая откроет указанный файл и установит:

org.eclim.java.run.mainclass=HelloKittieTest

Не забудьте сохранить это тоже. Теперь вы должны нормально бежать :Java

@ Эрнест отвечает правильно, чтобы запустить основной класс для проекта. Однако, если вы хотите запустить метод main для произвольного класса, вам нужно только передать токен текущего файла % в качестве аргумента :Java команда...

public class Foo{ 
    public static void main(String[] args) {
       System.out.println("I came from Foo");
    }
}

В командном режиме передайте текущий файл токена (%).

:Java %

Хотя у меня есть запись "" в.classpath, но кажется, что вам также нужно снова запустить:NewSrcEntry src, чтобы вызвать eclim для обновления относительной конфигурации.

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