2009-09-03 6 views
8

Sto usando Netbeans per scrivere Scala e Java.Chiama il codice Scala da Java?

Netbeans ha generato un file .jar per il progetto Scala. Ho provato a importare quel file nel progetto Java. Ma non ho potuto importare alcuna classe da quel file .jar nel mio progetto Java.

Ho anche provato a importare scala-library.jar nel progetto java e ho potuto importare classi da quel jar.

Voglio scrivere la mia libreria in Scala, quindi esporre una piccola interfaccia che riguarda solo materiale Java, quindi scrivere un wrapper Java in modo che le persone possano usarlo come pacchetto Java. È possibile? Come lo faccio?

Grazie mille.

+1

Se si ha il tempo di rintracciare cosa è andato storto, sarebbe utile inserire la risposta qui. –

risposta

8

Non ci dovrebbero essere problemi nel fare questo.

  1. Hai verificato (per esempio utilizzando WinZip o l'utilità jar) che il file .jar contiene in realtà le pertinenti file .class? (utilizzare jar tvf mylib.jar per verificare)
  2. Se è stato verificato che i file .class corretti siano presenti nel file jar, qual è l'errore di runtime visualizzato? È un NoClassDefFoundError? In caso affermativo, che non è possibile trovare class? Come ti stai riferendo alla classe (Scala) nel tuo codice (Java)?
+0

Oh grazie. Si è scoperto che questo era dovuto alla mia mancanza di conoscenza in Java. Ho confrontato il mio pacchetto con scala-library.jar e poi ho fatto quanto segue: 1. assicurati che tutte le classi e i sotto-pacchetti fossero sotto lo stesso pacchetto di root 2. modifica il file MANIFEST.MF, con quello da scala-library.jar come un esempio Quindi potrei chiamare le mie lezioni di Scala da Java. Non sono ancora chiaro da dove provenga il problema, ma ora ho fretta. Lo scoprirò più tardi. Grazie mille :) – Phil