Как запустить Java-программу, используя eclim? - PullRequest
4 голосов
/ 22 декабря 2009

Кажется, я не могу запустить простую программу Hello World с использованием eclim. Я следовал руководству по установке на http://eclim.org/guides/install.html#guides-install и учебнику на http://eclim.org/gettingstarted.html#gettingstarted,, но когда я пытаюсь запустить программу (используя: Java), я получаю

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)

И я не знаю, как установить то, что написано, что я не установил. Программа успешно компилируется, и я могу регулярно запускать ее в терминале, я использую Ubuntu 9.10, java jdk 1.6, eclim 1.5.4.

Ответы [ 2 ]

10 голосов
/ 08 марта 2011

Я хотел бы добавить более удовлетворительный ответ, так как эта тема поднялась в нескольких поисках в Google, которые я сделал ...

При вызове :Java % файл, который в данный момент редактируется, будет запущен. Подробнее см. здесь .

5 голосов
/ 22 декабря 2009

Похоже, что у eclim нет набора свойств, который идентифицирует основной класс вашего приложения. В соответствии с http://eclim.org/vim/java/java.html вы сможете исправить это, установив свойство org.eclim.java.run.mainclass вашего проекта (в полное имя основного класса вашего приложения). .

РЕДАКТИРОВАТЬ - отвечая на комментарий:

Я не знаком с eclim, но я ожидаю, что, поскольку это свойство project , вы должны установить его один раз, и с этого момента оно должно сохраняться вместе с проектом.

С другой стороны, если вы хотите иметь несколько основных классов, которые можно вызывать и переключаться между ними, тогда, конечно, вам потребуется предоставить некоторый вид дополнительной конфигурации. Как вы ожидаете, что eclim узнает, что вы имели в виду, просто набрав :Java? Там может быть какой-то хороший синтаксический сахар, который вы можете использовать для регистрации нескольких классов и вызова их как «java 1», «java 2» и т. Д. - но в конце дня вам всегда понадобится какой-то способ отличить, какой класс вы думаешь о беге.

...