2011-09-12 26 views
6

我在使用eclim工作時遇到了麻煩:Java命令。當我運行它,我得到:Eclim - 將org.eclim.java.run.mainclass設置爲?

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) 

似乎有很多解釋相關,如何解決這個問題,比如this職位上SO或here,但他們都說「設定org.eclim.java .run.mainclass屬性的項目「通過:ProjectSettings。我的問題是我該如何設置它?無論我嘗試寫入更改vim所說的「操作包含錯誤,請參閱位置列表以獲取詳細信息」。

回答

9

當我降落在這裏從谷歌,我將發佈一個答案:

您需要與main方法設置類的名稱。因此,舉例來說,如果你只有一個類:

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

保存文件,運行:ProjectSettings命令,將打開提到的文件,並設置:

org.eclim.java.run.mainclass=HelloKittieTest 

不要忘記保存一個太。現在你應該正常運行:Java

3

@歐內斯特的答案是正確的,以運行項目的主要類。但是,如果你想運行的主要方法對任意類,你只需要在當前文件標記%作爲參數傳遞給:Java命令

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

在命令模式下通過當前的文件標記( %)。

:Java % 
0

雖然我在的.classpath條目「< classpathentry樣=」 SRC「路徑=‘SRC’/ >」,但似乎你還需要運行:再次NewSrcEntry SRC觸發eclim刷新相對配置。