2009-09-03 21 views
8

Estoy usando Netbeans para escribir Scala y Java.¿Llamar al código de Scala desde Java?

Netbeans generó un archivo .jar para el proyecto Scala. Traté de importar ese archivo en el proyecto de Java. Pero no pude importar ninguna clase de ese archivo .jar a mi proyecto Java.

También traté de importar scala-library.jar al proyecto java, y pude importar clases desde ese contenedor.

Quiero escribir mi biblioteca en Scala, luego exponer una pequeña interfaz que solo involucra material Java, luego escribir un contenedor Java para que las personas puedan usarlo como un paquete Java. ¿Es eso posible? ¿Cómo lo hago?

Muchas gracias.

+1

Si tiene tiempo para localizar qué fue lo que salió mal, sería útil colocar aquí la respuesta. –

Respuesta

8

No debería haber ningún problema al hacer esto.

  1. ¿Ha verificado (por ejemplo, utilizando WinZip o la utilidad jar) que el archivo de .jar en realidad contiene los archivos pertinentes .class? (use jar tvf mylib.jar para verificar)
  2. Si ha verificado que existen los archivos .class correctos en su archivo jar, ¿cuál es el error de tiempo de ejecución que está viendo? ¿Es un NoClassDefFoundError? Si es así, ¿qué class no se puede encontrar? ¿Cómo se refiere a la clase (Scala) en su código (Java)?
+0

¡Oh, gracias! Resultó que esto se debía a mi falta de conocimiento en Java. Comparé mi paquete con scala-library.jar y luego hice lo siguiente: 1. me aseguré de que todas las clases y subpaquetes estaban bajo el mismo paquete raíz 2. edita el archivo MANIFEST.MF, con el de scala-library.jar como una muestra Entonces podría llamar a mis clases de Scala desde Java. Todavía no tengo claro de dónde viene el problema, pero ahora estoy apurado. Lo averiguaré más tarde. Muchas gracias :) – Phil

Cuestiones relacionadas