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
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:
- 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.
- Dovrebbe corrispondere alla versione di Scala utilizzata durante la compilazione del programma (la libreria Scala per 2.7 e per 2.8 non è intercambiabile).
- Si può trovare nella vostra distribuzione Scala: lib/scala-library.jar
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.
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.
- 1. Scala funziona bene su JVM di proprietà?
- 2. È possibile compilare programmi Scala ma non è possibile eseguirli
- 3. Scala su iOS con Avian
- 4. Vagrant + Chef + apt: è possibile installare una versione specifica di un pacchetto deb su una macchina virtuale Ubuntu?
- 5. È possibile compilare file binari di Windows su una macchina Linux?
- 6. Distribuire Scala su un cluster?
- 7. Aumentare la dimensione heap JVM per Scala?
- 8. È possibile installare .NET framework su Mac?
- 9. Come installare R su Solaris su una macchina virtuale VirtualBox?
- 10. linguaggio basato su JVM senza runtime lingua
- 11. Come installare Java JDK in una directory specifica su Windows
- 12. Compilare un programma C con un'architettura specifica
- 13. Compilare programma in C++ su Mac per funzionare su Linux
- 14. Quanto è legato lo scala a JVM?
- 15. È possibile utilizzare un MapView senza dover estendere MapActivity?
- 16. Come installare english.pickle per nltk su una macchina Linux offline
- 17. È possibile che Scala abbia generici reificati senza modificare la JVM?
- 18. MVC su Lift/Scala
- 19. Come posso installare un servizio Windows su una macchina su cui non è installato Visual Studio?
- 20. È possibile installare Rust su Linux senza privilegi di amministratore?
- 21. Come compilare l'applicazione Scala Hello World
- 22. Perché OpenFileDialog congela l'app WinForms su una macchina specifica?
- 23. Esportazione dell'applicazione Scala su JAR eseguibile
- 24. È possibile installare pandoc su Windows utilizzando un comando R?
- 25. Utilizzare PHP Gettext senza dover installare locali
- 26. Perché Scala sta promuovendo l'elenco [Qualsiasi] su Elenco [Lungo]?
- 27. È possibile installare il JDK su un dispositivo Android?
- 28. Eval Javascript su scala globale?
- 29. È possibile replicare una macchina virtuale blu?
- 30. Scala: Disegna tabella su console