2010-06-11 19 views
19

¿Cuál es la forma más sencilla de empaquetar una aplicación Scala para su uso en una PC de escritorio? Supongo que sería en forma de archivo jar.Empaquetado e implementación de aplicaciones Scala

Por el momento estoy usando SBT para compilar y ejecutar programas

estaría interesado en soluciones para máquinas que tienen instalado Scala (y la biblioteca en su ruta de clase), así como aquellos que sólo tienen Java.

Respuesta

9

La forma más sencilla (y la más consistente) de empaquetar una aplicación Scala es empaquetar en un JAR (como lo hace con las aplicaciones Java normales). Siempre que JAR conste de clases de Java compiladas estándar, puede ejecutar JAR "Scala", incluso si no tiene el tiempo de ejecución de Scala en el recuadro (todo lo que necesita es un Java Runtime y scala-lang.jar en la ruta de clases). Es posible especificar la clase principal (puerta de acceso a las funcionalidades de la aplicación) en el manifast

Main-Class: mypackage.MyClass 

por lo que usted será capaz de llamar sólo pasa un nombre JAR a java.exe.

java -jar myjar.jar 

Puede specify the main class en la definición de proyecto SBT.

+0

Logré llegar hasta aquí utilizando el comando "paquete" en SBT. Supongo que no sabe cómo incluir scala-library.jar en el archivo jar resultante. –

+1

Ponga el JAR en src/main/resources, y agréguelo a classpath - >> invalidar val manifestClassPath = Some ("scala-library.jar") –

+0

Sin embargo, incluso si empaqueta scala-library.jar en su aplicación jar, no será bootstrapped por el cargador de clases. Para hacer que la actualización del manifiesto mencione el trabajo anterior, deberá colocar scala-library.jar en la misma carpeta con su jar. –

Cuestiones relacionadas