2009-12-12 16 views
7

Se ho scritto un programma Scala, posso compilarlo in modo tale che chiunque abbia una JVM Sun Java standard possa eseguirlo? Immagino che il compilatore Scala debba includere il codice API specifico per Scala nel progetto compilato? Il motivo per cui sono interessato è che i nostri progetti di classe possono di solito essere consegnati in qualsiasi lingua si preferisca, ma gli AT che classificano le consegne di solito vogliono eseguire il codice sulla propria macchina o su macchine da laboratorio.È possibile compilare un programma Scala per l'esecuzione su qualsiasi JVM, senza dover installare Scala su una macchina specifica?

risposta

20

Non è necessario eseguire operazioni speciali per eseguire il programma Scala compilato su JVM. È semplicemente un bytecode JVM. L'unica cosa di cui hai bisogno è assicurarsi che la libreria standard di Scala (scala-library.jar) sia inclusa nel tuo percorso di classe in fase di runtime. Questa è solo una dipendenza extra (o forse potresti anche aver bisogno di scala-swing.jar se usi i wrapper Swing per la tua GUI).

Se ti preoccupi della convenienza per l'utente, puoi persino impacchettare la tua applicazione su un singolo jar in modo che contenga il contenuto di scala-library.jar e le tue classi e risorse. Ma personalmente lo farei solo se questo jar è eseguibile (può essere eseguito come java-jar yourApplication.jar).

Note su Scala biblioteca:

  1. Esso prevede proprio questo - libreria. Nessun interprete, nessun compilatore o ambiente di esecuzione speciale di qualche tipo; quindi non dovresti preoccuparti dei problemi di caricamento della classe.
  2. Dovrebbe corrispondere alla versione di Scala utilizzata durante la compilazione del programma (la libreria Scala per 2.7 e per 2.8 non è intercambiabile).
  3. Si può trovare nella vostra distribuzione Scala: lib/scala-library.jar
5

Sì. Se si include il file jar della libreria scala appropriato nel classpath, è possibile eseguire un programma scala utilizzando java, poiché il codice scala compilato è lo stesso del codice java compilato.

1

Se mai usato qualsiasi libreria Java, basta trattare Scala come loro. Prendi il barattolo di Scala (quello della libreria) e impacchettalo insieme al tuo contenitore usando uno dei programmi disponibili o distribuendolo insieme.

Problemi correlati