Eclipse plugin per Scala: NoClassDefFoundError

Per rendere più agevole l'esplorazione del linguaggio Scala, è sicuramente consigliabile l'installazione del relativo plugin per Eclipse.
Uno degli errori che spesso il neofita incontra cercando di mandare in esecuzione il suo imprescindibile Hello World con tale strumento è il misterioso NoClassDefFoundError.
Le ragioni più frequenti di tale errore sono:
1) Il file che contiene la classe o l'oggetto che vogliamo eseguire non ha il medesimo nome dell'oggetto stesso. Per esempio l'oggetto HelloWorld contenuto nel file Hello.scala
2)Il file è stato spostato di package con un Refactor-Move, che però, contrariamente a quanto avviene con Java, non ha modificato opportunamente la prima riga contenente il nome del package.
3)Nel progetto esiste un file con errori di compilazione. Ciò impedisce la compilazione di qualsiasi classe all'interno del progetto.

2 commenti

  1. alepuzio:

    A me è successo
    4) non si mette la directory corrente nel CLASSPATH

    scala -cp $CLASSPATH Classe

    (uso la riga di comando, non il plugin di Eclipse)

  2. Franco Lombardo:

    5) Il workspace di Eclipse si corrompe. Occorre ricrearlo ex novo.
    6) Viene omesso il valore di ritorno Unit nel metodo main, e l’ultima operazione restituisce qualcosa che non sia Unit:

    object Hello {
      def main(args : Array[String]) = {
        println("Hello")
        1
      }
    }
    

    (Qui in realtà il messaggio è “Editor does not contain a main type”)

Lascia un commento