2013-04-16 18 views
5

Sto scrivendo un programma misto Scala e Java utilizzando Eclipse. Tutto stava funzionando bene fino a circa un'ora fa, quando tutto è andato al diavolo senza una ragione apparente.Errori di compilazione di Scala + Eclipse misteriosi

Non ci sono problemi (Scala o Java) riportati in Eclipse, ma il builder Scala sembra fallire da qualche parte. Non produce più alcun file di classe. Il tentativo di eseguire "Ciao Mondo" a Scala ora risulta nel messaggio:

Progetto 'projectname' contiene errori di compilazione (quindi, nessun file binari sono stati prodotti)

Sto utilizzando le impostazioni predefinite per la Scala costruttore, e ha funzionato bene prima. Non ho cambiato nulla.

Ho provato a pulire e ricostruire il progetto più volte, inutilmente. La finestra di dialogo di avanzamento della compilazione dà l'impressione che sia le versioni Scala che Java abbiano successo. Parti del programma in puro Java compilano ed eseguono con successo. (Ho temporaneamente commentato i punti in cui Java chiama a Scala, perché la mancanza di file di classe Scala causava errori di importazione della classe non risolta)

C'è un log degli errori del compilatore Scala da qualche parte che mi dirà cosa sta succedendo sbagliato?? Sto per iniziare a strapparmi i capelli.

Non mi ricordo esattamente quello che ho fatto che ha causato questo, ma non sarebbe stato nulla di esotico: scrivendo alcune nuove classi, alcuni refactoring di base, ecc

+0

Provare a creare con Maven dalla console. Bandiere per più verbosità (come '-X') potrebbero aiutare. – Landei

risposta

1

Primo sguardo sulla produzione della console Eclipse durante costruire. Puoi vedere molte cose interessanti :-).

Solo una possibile direzione di guardare in:

Io non sono sicuro al 100%, ma AFAIR Eclipse uso Maven per costruire fonti di Java e Scala (almeno su progetti che ho ricevuto). Se vedi il file pom.xml nella root del progetto, è così e puoi provare a emettere comandi come mvn compile e controllare i log. Con Maven potrebbero esserci molti problemi a partire da quelli nel repository JAR locale.

BTW Il repository Maven si trova in ~/.m2. Naturalmente la maggior parte di questo corrisponde alle installazioni Unix.

+1

Ottima idea di guardare l'output della console Eclipse. Ho trovato questo piccolo gioiello: '[$ anon $ 1] errore soppresso nel file di Java: illegale classe che coinvolge riferimento ciclico ExtensibleFieldSerializer [AnalysisCompile] Compilation failed' Questa classe è stata utilizzata in un posto nel mio codice Scala. Ho commentato la battuta, ho ricostruito il progetto e disapprovato ... e ora tutto funziona di nuovo. [Un'altra domanda StackOverflow] (http://stackoverflow.com/questions/13423693/illegal-cyclic-reference-error-in-eclipse-scala-plugin) indica che questa stranezza potrebbe essere un bug con il plugin Scala. – ljp

+0

:) Il mio primo post su scala tag qui. Sto facendo un sacco di lavoro da riga di comando vicino all'imballaggio, specialmente Maven e sbt. Le cose non sono così diverse senza Eclipse. –

Problemi correlati