4

我似乎无法使用 eclim 运行一个简单的 Hello World 程序。我遵循了 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。

4

2 回答 2

10

以为我会添加一个更令人满意的答案,因为这个主题在我做的一些谷歌搜索中排名第一......

通过调用:Java %当前正在编辑的文件将运行。有关更多详细信息,请参见此处

于 2011-03-08T13:13:13.503 回答
5

看起来 eclim 没有标识应用程序主类的属性集。根据http://eclim.org/vim/java/java.html,您应该能够通过设置项目的org.eclim.java.run.mainclass属性来解决这个问题(设置为您的应用程序的完全限定名称主班)。

编辑 - 回复评论:

我不熟悉 eclim,但我希望由于这是一个项目属性,您只需设置一次,从那时起它应该与项目一起保留。

另一方面,如果您想拥有多个可以调用并在它们之间切换的主类,那么您当然需要提供某种额外的配置。您如何期望 eclim 通过键入来知道您的意思是哪一个:Java?可能有一些不错的语法糖可以用来注册多个类并将它们调用为“java 1”、“java 2”等 - 但归根结底,你总是需要一些方法来区分你是哪个类'重新考虑跑步。

于 2009-12-22T12:11:38.353 回答