2011-12-15 7 views
18

Ho Eclipse Indigo con il plug-in Scala IDE. Ho scaricato un progetto di ascensore da Maven. Costruisce correttamente. Eclipse dice che lo sta visualizzando con l'editor di Scala.Eclipse non riconosce il codice Scala

Tuttavia, mi viene ancora restituito un errore su ogni riga perché tratta il codice come Java (genera errori per nessun punto e virgola, per la parola "def" ecc.) Ho provato a pulire il progetto e lo restituisco ancora gli errori

+0

spero che il file si chiami ".scala"? – aishwarya

+0

Una possibile ragione è che hai installato Scala IDE 2.0 RC3 e hai installato il plugin Groovy. In tal caso, aggiornare a RC4. –

+0

Sì, il file si chiama Scala. Ho preso l'IDE Scala ieri sera, quindi sono abbastanza sicuro che sia RC4. – Joe

risposta

44

Un paio di cose che vorrei provare:

1) Fai clic destro sul progetto, Configura> Aggiungi Scala Natura.

2) Nel menu Scala, eseguire l'installazione Diagnositics ...> Uso raccomandato impostazioni predefinite

+0

Ciò ha causato la "schermata rossa della morte" (linee ondulate rosse dappertutto per me. Credo che sia stato perché ho modificato il file eclipse.ini per aumentare la dimensione dell'heap (come raccomandato dal plugin Scala all'avvio) e quindi riavviato eclipse - Quindi la diagnostica di setup non è mai stata ripetuta, il plugin di Scala non è mai stato configurato correttamente – jhclark

+3

Una cosa che mi ha fatto inciampare - devi essere nella Prospettiva di Scala per la Scala Nature per essere disponibile. – Lachlan

+0

ha funzionato per me! cos'è una Scala Nature? – Hristo

7

Aprire l'Explorer pacchetto, guardate la vostra fonte Scala. L'icona visualizza S (per Scala) o J (per Java)?

Se vedi un S, allora si rischia manca la Natura Scala. Come suggerito da Luigi, prova ad aggiungere Scala Nature e controlla se risolve il tuo problema (fai clic con il tasto destro del mouse su progetto, Configura> Aggiungi Scala Nature.)

Altrimenti, se vedi un J, le probabilità sono che "JDT Weaving" "non è abilitato. Questo non dovrebbe accadere e potrebbe dipendere da altri plugin che hai installato.

Quello che vorrei provare se fossi in te è semplicemente disinstallare tutti i plugin Scala IDE da Eclipse ("Scala IDE per Eclipse", e anche il "JDT Tessitura per Scala" se lo vedi nella lista dei plugin installati). Quindi, reinstalla Scala IDE 2.0.0-RC04. Lo so, non è la soluzione ideale, ma è difficile dire cosa sta succedendo senza ulteriori informazioni.

Se questo non funziona neanche, si prega di scrivere un messaggio nel scala-ide-user Mailing List. Assicurati di fornire l'elenco completo dei plug-in che hai nell'installazione di Eclipse. Questo potrebbe aiutarci a capire cosa sta succedendo.

0

Ho avuto questo problema anche quando uso Maven ed Eclipse - Lavorerò nella prospettiva Scala e tutto andrà bene, e poi ad un certo punto Indigo perde completamente traccia del fatto che sta usando Scala e sta costruendo il mio codice con un compilatore Java. Nessuna quantità di giochini con Build Path e configurazioni, progetti di pulizia o abilitazione della natura di Scala sembra risolverlo.

L'unica soluzione che è venuta in mente finora è quello di utilizzare IntelliJ quando uso Maven, e utilizzare solo Scala Plug-in Eclipse quando si utilizza SBT per costruire progetti. Puoi provare a convertire Maven POM in un progetto SBT, ma dovrai aggiornarlo ogni volta che le tue dipendenze cambiano. Il plugin sbt-eclipse di Heiko Seeberger è piuttosto lucido.

+1

Non ho molta esperienza con ScalaIDE + Maven, ma sono molto sorpreso di sentirlo. So per certo che molte persone usano l'IDE di Scala per Eclipse con Maven, e non conosciamo alcun problema di questo tipo.Qui potrebbe accadere che tu rigeneri i file del progetto di metadati di Eclipse, e per questo la Scala Nature non è più aggiunto al tuo progetto. Aggiungere Scala Nature è molto semplice, basta fare clic con il tasto destro del mouse sul progetto, Configura> Aggiungi Scala Nature. Potresti anche essere interessato a m2eclipse-scala (https: // github.com/Sonatype/m2eclipse-Scala). –

+0

Lo controllerò, Mirco. Grazie. – jamie

+0

Ottimo! Facci sapere come va, abbiamo sicuramente bisogno di aiuto per migliorare la Documentazione Utente rispetto a Scala IDE + Maven;) –

0

Ho problemi simili, anche se rimuovo Scala Nature e aggiungilo nuovamente diventa ok. Per ora va bene.

Ma c'è un altro problema:

classi Java mio rifiutano di riconoscere i miei quelli Scala. Tuttavia quando faccio un "Ctrl + Click" = Open Declaration, va nel posto giusto. Le mie classi Java che dipendono da Scala sembrano del tutto rosse. Ho controllato le impostazioni di Build Path, ecc., Sembrano tutte ok.

2

Può anche essere più semplice di quello, ho dimenticato di scrivere il nome del pacchetto nella parte superiore del file source Eclipse così trascurato di vederlo come un file di Scala.

6

Questo problema può verificarsi quando si copia un progetto java esistente per avviare un nuovo progetto o utilizzare un generatore di file di progetto.

Una cosa che puoi guardare è la tua Java Build Path all'interno delle proprietà del progetto. Assicurati che la tua cartella sorgente di scala non abbia un filtro include come **/*.java. Assicurarsi che sia **/*.scala o rimuoverlo e la sorgente dovrebbe essere rilevata dal plugin scala.

+0

Aveva lo stesso problema e solo dopo aver aggiunto gli articoli inclusi gli errori andavano via. –

+0

Questo ha risolto anche i miei problemi, tranne che non avevo nessuna "cartella sorgente" elencata. La creazione di una nuova cartella, lo spostamento dei miei file sorgente in essa e l'aggiunta come cartella di origine dal menu Percorso build Java risolveva il mio problema. – Necrototem

+0

Succede ogni volta che cambio brunch (git), Sai come rimuoverlo per sempre? –

0

Le mie classi Java rifiutano di riconoscere le mie Scala. Tuttavia quando faccio un "Ctrl + Click" = Open Declaration, va nel posto giusto. Le mie classi Java che dipendono da Scala sembrano del tutto rosse. Ho controllato le impostazioni di Build Path, ecc., Sembrano tutte ok.

Ho avuto lo stesso problema. Quando ho spostato le mie classi di Scala nella cartella del pacchetto corretta, ha funzionato. Scala non ha bisogno di questo. Ma solo in questo modo l'editor Java ha riconciliato la classe di Scala.

1

ho risolto il problema con la compilazione/costruire gli errori con SBT-Eclipse di

  1. pulsante destro del mouse progetto
  2. menù Scala -chose Nuova Scala di installazione e versione selezionare fino a quando non sono stati elencati gli errori
1

Mi trovavo di fronte allo stesso problema, perché nella cartella progetto scala non era incluso seguito i seguenti passaggi progetto -> proprietà -> percorso java -> origine -> aggiungi folde r

+0

Penso che questa risposta sia stata uno strano modo per dire che il problema è stato risolto eseguendo i passaggi descritti. – VasyaNovikov

0

Uso Maven per generare il mio barattolo. Quindi segui i passaggi sotto Fai clic destro su progetto -> Maven -> Aggiorna progetto -> Verifica forza Aggiornamento di istantanee/uscite -> OK

0

A volte, o in alcune versioni, non vedi "Aggiungi Scala Natura " opzione.

Aggiungendolo al file .project manualmente dovrebbe fare. Per esempio. questo progetto supporta nature scala e java, quindi tratterà .java come Java e .scala come Scala.

<projectDescription> 
    <name>myprojectname</name> 
    <buildSpec> 
    <buildCommand> 
     <name>org.scala-ide.sdt.core.scalabuilder</name> 
    </buildCommand> 
    </buildSpec> 
    <natures> 
    <nature>org.scala-ide.sdt.core.scalanature</nature> 
    <nature>org.eclipse.jdt.core.javanature</nature> 
    </natures> 
    <linkedResources> </linkedResources> 
</projectDescription>