2012-03-08 14 views
8

Come posso compilare un'app JRuby utilizzando Warbler che non è il sul Web? Questo è sempre quello che succede quando provo:Applicazione non web con JRuby Warbler

$ warble 
warble aborted! 
No executable script found 

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

Devo utilizzarlo in modo errato. Qualcuno sa come compilare correttamente l'app JRuby?

+0

Warble è progettato per creare un file "guerra", che sta per Archivio Web. È progettato per la distribuzione di app Web su un contenitore servlet. In definitiva, cosa stai cercando di ottenere? –

+0

Oh ... Beh, sto usando JRuby per creare un gioco con [Slick] (http://slick.cokeandcode.com/) da Ruby, e voglio essere in grado di compilare la mia app in un file Jar. Sto seguendo [questo tutorial] (http://www.rubyinside.com/video-game-ruby-tutorial-5726.html) su come farlo, e alla fine si dice che è possibile utilizzare warbler. Qualcosa che posso usare? jrubyc lo compila in un file .class. – Jwosty

+1

Evidentemente mi sbaglio. Ho appena controllato i documenti di Warbler e può anche creare un vaso da un semplice progetto Ruby ... qualcosa che non sapevo! –

risposta

3

Warbler può creare un file jar, anche se il suo obiettivo principale è creare una guerra.

Oltre a beccafico, date un'occhiata al gioiello rawr, https://github.com/rawr/rawr Se si sta cercando di creare un'applicazione stand-alone che non comporta un server di applicazioni Web, quindi rawr può essere più semplice da usare, ma i commentatori rilevare - Warbler fa un lavoro migliore alle dipendenze di packaging e rawr non supporta il bundler.

+0

Sembra un piccolo gioiello per un lavoro semplice. Interessante. – madth3

+3

rawr sembra molto meno potente e robusto del warbler (fa il pacchetto automatico delle dipendenze gem da bundler?). Davvero non c'è modo di usare la silvia per questo? Darn. – jrochkind

+0

Rawr è una completa perdita di tempo perché non ha supporto per bundler. – Amala

11

warble documentation implica uno dei due vincoli:

  1. sia una directory bin con gli script e una directory lib con dipendenze, o
  2. un .gemspec file con le informazioni necessarie per assemblare il vaso

Dico questo perché il tutorial che hai collegato non segue nessuna di queste condizioni.

+0

Hmm, io _do_ ho una cartella di lib (con la roba di Slick e LWJGL dentro), e ho visto che dice che un gemspec aiuta (non sapevo che fosse obbligatorio). Stavo per crearne uno, ma non so cosa metterlo. Qualche aiuto su questo? – Jwosty

+1

@Jwosty: basta creare una directory/bin di livello superiore e inserire un singolo script all'interno. Funziona per me ... – adamlamar