2009-12-12 2 views
7

Si j'ai écrit un programme Scala, puis-je compiler de manière pour que tout le monde avec une norme JVM Sun Java peut exécuter? Je suppose que le compilateur Scala devrait inclure le code API spécifique à Scala dans le projet compilé? La raison pour laquelle je suis intéressé est que nos projets de classe peuvent généralement être livrés dans la langue on préfère, mais les livraisons titrant AT veulent généralement exécuter le code soit sur leur propre machine ou sur des machines de laboratoire.Est-ce qu'un programme Scala être compilé pour fonctionner sur une machine virtuelle, sans avoir Scala installé sur la machine donnée?

Répondre

20

Vous n'avez pas besoin de faire quoi que ce soit spécial pour exécuter votre programme compilé Scala sur la JVM. C'est juste un bytecode JVM. La seule chose dont vous avez besoin est de vous assurer que la bibliothèque Scala standard (scala-library.jar) est incluse dans votre chemin de classe lors de l'exécution. Ceci est seulement une dépendance supplémentaire (ou peut-être que vous pourriez aussi avoir besoin de scala-swing.jar si vous utilisez des wrappers Swing pour votre GUI). Si vous vous souciez de la commodité pour l'utilisateur, vous pouvez même empaqueter votre application dans un pot unique afin qu'elle contienne le contenu de scala-library.jar et vos propres classes et ressources. Mais personnellement, je le ferais uniquement si ce fichier est exécutable (peut être exécuté en tant que java -jar yourApplication.jar).

Remarques à propos de la bibliothèque Scala:

  1. Il fournit juste que - bibliothèque. Aucun interpréteur, aucun compilateur ou environnement d'exécution spécial de quelque sorte; Vous ne devriez donc pas vous inquiéter des problèmes de chargement des classes.
  2. Il devrait correspondre à la version de Scala que vous utilisez lors de la compilation de votre programme (la bibliothèque Scala pour 2.7 et 2.8 n'est pas interchangeable).
  3. Il se trouve dans votre distribution Scala: lib/scala-library.jar
5

Oui. Si vous incluez le fichier jar de bibliothèque scala appropriée dans le classpath, un programme de scala peut être exécuté en utilisant java, car le code compilé scala est le même que le code compilé java.

1

Si vous avez déjà utilisé un bibliothèque Java, Traitez Scala comme eux. Obtenez le pot de Scala (celui de la bibliothèque), et emballez-le avec votre pot en utilisant l'un des programmes disponibles pour cela, ou distribuez-le ensemble.

Questions connexes