我无法获得: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)
似乎有很多解释如何解决这个问题,例如this发布在SO或here上,但他们都说“设置org.eclim.java.run”。项目的mainclass属性“through:ProjectSettings。我的问题是我将它设置为什么?无论我在尝试编写更改时放置什么,vim都说“操作包含错误。有关详细信息,请参阅位置列表。”
答案 0 :(得分:9)
当我从Google登陆时,我会发一个答案:
您需要使用main
方法设置类的名称。例如,如果您只有一个类:
class HelloKittieTest {
public static void main (String [] args)
{
System.out.println("Hello Kittie");
}
}
保存文件,运行:ProjectSettings
命令,打开上述文件并设置:
org.eclim.java.run.mainclass=HelloKittieTest
别忘了保存那个。现在您应该正常运行:Java
答案 1 :(得分:5)
@ Ernest的回答是正确的,为项目运行主类。但是,如果要为任意类运行main方法,则只需将当前文件标记%
作为参数传递给:Java
命令...
public class Foo{
public static void main(String[] args) {
System.out.println("I came from Foo");
}
}
在命令模式下传递当前文件标记(%)。
:Java %
答案 2 :(得分:0)
虽然我有一个条目“< classpathentry kind =”src“path =”src“/>”在.classpath中,但似乎你还需要再次运行:NewSrcEntry src来触发eclim刷新相对配置。