2013-04-25 10 views
29

Sto tentando di eseguire alcuni file java in un nuovo progetto. Quindi realizzo il progetto, inserisco i file e cerco di eseguire il file principale in modo che il mio gioco inizi.Errore: la selezione non contiene un tipo principale

Viene visualizzato un errore che dice selection does not contain a main type.

ho cercato diversi modi per eseguirlo:

  • Alcuni dicono di lanciare eclissi di nuovo, provato questo una dozzina di volte.
  • Da qualche altra parte qualcuno ha indicato di aprire un nuovo progetto e creare un percorso di costruzione per il vecchio progetto.

Non ha funzionato neanche.

Sono sicuro che deve funzionare perché l'ho eseguito poche ore fa a scuola. Come posso farlo funzionare? Grazie in anticipo!

+11

Avete un 'public static void main (String [] args)' ovunque? – Zyerah

+1

I have have public class "name" extends JFrame – user2321611

+6

Forse dovresti rispondere a Telthiens question :) –

risposta

19

Spero che si sta tentando di eseguire la classe principale in questo modo vedere screenshot: enter image description here

Se no allora provate questo modo e se sì allora si prega di assicurarsi che la classe che si sta per eseguire avere metodo main ie

public static void main(String[] args){ // some code here} 

stessa definizione. Spero che questo ti possa aiutare.

6

Il punto di ingresso per i programmi Java è il metodo:

public static void main(String[] args) { 
    //Code 
} 

Se non si dispone di questo, il programma non verrà eseguito.

38

Le altre risposte sono tutte valide, tuttavia, se si verifica ancora un problema, è possibile che la classe non sia presente nella cartella src, nel qual caso Eclipse potrebbe non vederlo come parte del progetto. Ciò richiamerebbe anche lo stesso messaggio di errore che hai visto.

+10

Grazie, i file non presenti nella cartella src erano il problema per me. – Dois

1

È necessario posizionare tutti i file (file.java) nella cartella radice SRC.

3

Poche cose da verificare:

  1. Hai un pacchetto principale? tutte le tue lezioni sono sotto questo pacchetto?
  2. Si utilizza una classe principale con public static void main (String [] args)?
  3. Si dichiara: pacchetto; nella tua classe principale?
  4. È sempre possibile pulire il progetto prima di eseguirlo. In Eclipse: vai su Project -> clean quindi esegui nuovamente l'app.
26

Fare clic con il pulsante destro del mouse sulla cartella in cui si inserisce la classe principale, quindi fare clic su Build Path ->Use as Source Folder.

Infine, esegui il tuo file principale come applicazione java. Spero che questo problema sarà risolto.

5

Ho risolto ciò aggiungendo una nuova cartella di origine e inserendo il mio file java in quella cartella. "cartella sorgente" non è solo una cartella in cui credo.è un tipo di cartella speciale per java/eclipse e può essere aggiunto in eclissi facendo clic destro su progetto -> proprietà -> percorso Java buld -> Origine e aggiungi una cartella

0

Ho incontrato lo stesso problema e ho scoperto che lì era una coppia extra di parentesi graffe (parentesi graffe) che racchiudeva il public static void main (String args) {...}. Questo metodo dovrebbe essere davvero al top della classe e non dovrebbe essere racchiuso tra parentesi graffe. Sembra che sia possibile trovare delle parentesi attorno a questo metodo quando si lavora in Eclipse. Questo potrebbe essere solo un modo in cui puoi vedere questo problema quando lavori con Eclipse. Buona programmazione!

0

Questo problema si è verificato ripetutamente dopo l'aggiunta di immagini a un progetto in Eclipse e il loro inserimento nel percorso di generazione. La soluzione consisteva nel fare clic con il pulsante destro del mouse sulla classe contenente il metodo main e quindi scegliere Esegui come -> Applicazione Java. Sembra che quando si aggiunge un file al percorso di generazione, Eclipse assume automaticamente che il file sia dove si trova il metodo main. Passando attraverso il menu Esegui come invece di fare semplicemente clic sul pulsante verde Esegui come, consente di specificare il punto di ingresso corretto.

+0

Cosa succede se dice questo anche se * è * un metodo principale? – trusktr

3

Mi sono imbattuto nello stesso problema. Ho risolto facendo clic con il tasto destro del mouse sul pacchetto -> Proprietà -> Percorso build Java -> Aggiungi cartella (seleziona la cartella in cui risiede il tuo codice).

+0

A meno che questo non sia su una versione diversa, 'pacchetto' dovrebbe essere' project' nel percorso sopra. – Carcigenicate

0

Quando si salva il file, assicurarsi che abbia l'estensione .java. In caso contrario, Eclipse non saprà leggerlo come file java.

1

Sto eseguendo eclissi da Ubuntu. Aveva questo stesso problema ed è stato in grado di eseguire il programma tramite terminale. Quindi ho appena spostato lo public static void main(String[] args) { esistente appena sotto la dichiarazione della classe (è stato formattato automaticamente da eclipse) e il prossimo avvio è andato a buon fine. Quindi spostato il metodo principale indietro dove era prima e ha funzionato bene questa volta.

Problemi correlati