2011-09-12 3 views
6

Non riesco a ottenere il comando: Java per lavorare in eclim. Quando l'eseguo ottengo:Eclim - Cosa impostare org.eclim.java.run.mainclass in?

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) 

sembra che ci sia un sacco di spiegazioni il modo di risolvere questo problema, come ad esempio this post su SO o here, ma tutti dico: "l'impostazione del org.eclim.java .run.mainclass proprietà del progetto "attraverso: ProjectSettings. La mia domanda è: a cosa la metto? Non importa cosa metto quando provo a scrivere le modifiche vim dice "L'operazione conteneva errori. Consulta l'elenco delle posizioni per i dettagli".

risposta

9

Come ho atterrato qui da parte di Google, mi post una risposta:

È necessario impostare il nome della classe con main metodo. Così, per esempio, se si dispone di una sola classe:

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

Salvare il file, eseguire :ProjectSettings comando che aprirà il file citato e impostare:

org.eclim.java.run.mainclass=HelloKittieTest 

Non dimenticare di salvare anche quello . Ora dovresti eseguire normalmente :Java

3

@ La risposta di Ernest è corretta per eseguire la classe principale per un progetto. Tuttavia, se si desidera eseguire il metodo principale per una classe arbitraria è sufficiente passare il file corrente di token % come argomento per il comando :Java ...

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

In modalità di comando passare il token di file corrente (%).

:Java % 
0

se ho una voce "< classpathentry tipo =" "path = "src src"/ >" in .classpath, ma sembra che è anche necessario per l'esecuzione: NewSrcEntry src nuovo per innescare eclim per aggiornare configurazione relativa.