2012-03-08 6 views
8

¿Cómo puedo compilar una aplicación JRuby utilizando Warbler que no es en la web en absoluto? Esto es siempre lo que sucede cuando intento:Aplicación no web con JRuby Warbler

$ warble 
warble aborted! 
No executable script found 

Tasks: TOP => jar:files 
(See full trace by running task with --trace) 

Debo utilizar esto incorrectamente. ¿Alguien sabe cómo compilar la aplicación JRuby correctamente?

+0

Warble está destinado a crear un archivo "war", que significa Web Archive. Está destinado a implementar aplicaciones web en un contenedor de servlets. ¿Qué estás tratando de lograr en última instancia? –

+0

Oh ... Bueno, estoy usando JRuby para crear un juego con [Slick] (http://slick.cokeandcode.com/) de Ruby, y quiero poder compilar mi aplicación en un archivo Jar. Estoy siguiendo [este tutorial] (http://www.rubyinside.com/video-game-ruby-tutorial-5726.html) sobre cómo hacerlo, y al final dice que puede usar curruca. ¿Algo que pueda usar? jrubyc lo compila en un archivo .class. – Jwosty

+1

Evidentemente estoy equivocado. Acabo de consultar los documentos de Warbler y también puedo crear un jar de un proyecto simple de Ruby ... ¡algo que no sabía! –

Respuesta

3

Warbler puede crear un archivo jar, aunque su objetivo principal es crear una guerra.

Además de curruca, echar un vistazo a la gema rawr, https://github.com/rawr/rawr Si usted está tratando de crear una aplicación independiente que no implique un servidor de aplicaciones Web, a continuación, rawr puede ser más fácil de usar, pero los comentaristas señalaron - curruca hace un mejor trabajo en el empaquetado de dependencias y rawr no es compatible con bundler.

+0

Parece una pequeña joya para un trabajo simple. Interesante. – madth3

+3

rawr parece mucho menos potente y robusto que curruca (¿empaqueta automáticamente las dependencias de gemas del paquete?). Realmente no hay forma de usar curruca para esto? Maldito. – jrochkind

+0

Rawr es una completa pérdida de tiempo porque no tiene soporte para bundler. – Amala

11

warble documentation implica una de dos restricciones:

  1. o bien un directorio bin con las secuencias de comandos y un directorio lib con dependencias, o
  2. un .gemspec file con la información requerida para montar el frasco

Menciono esto porque el tutorial vinculado no sigue ninguna de esas condiciones.

+0

Hmm, yo _do_ tengo una carpeta lib (con las cosas Slick y LWJGL adentro), y vi que dice que un gemspec ayuda (no sabía que era obligatorio). Iba a crear uno, pero no sé qué poner en él. ¿Alguna ayuda en esto? – Jwosty

+1

@Jwosty: simplemente cree un bin/directorio de nivel superior y coloque un solo script dentro. Funciona para mí ... – adamlamar

Cuestiones relacionadas