2012-04-01 15 views
2

Ich habe ein paar kleine Programme mit Swing-Komponenten in JRuby gemacht. Jetzt möchte ich diese in .jar-Archive konvertieren.Erstellen Sie ein eigenständiges Glas mit JRuby

Die erste Option, die ich gefunden ist wobbelton: https://github.com/jruby/warbler ein Glas machen sollte so einfach sein wie:

$ chmod a+x bin/mylittleprogram.rb 
$ warble jar 

Aber warble mit einem Fehler abgebrochen: „kann nicht gefroren String ändern“ gleiche wie hier Ausgabe: https://github.com/jruby/warbler/issues/76

ich bin ein Neuling und, ehrlich gesagt, ich habe nicht aus dem Thread bei github was zu tun (wie: für x in der Datei y suchen und ändern sie sich auf z) um es zum Laufen zu bringen. Wie der Typ, der den Thread gestartet hat, habe ich ein Ubuntu OS (11.04) und MRI und JRuby installiert.

Ich fand auch rawr: http://rawr.rubyforge.org/ ein Glas machen sollte wie folgt funktionieren:

rawr install 
rake rawr:jar 
java -jar package/jar/your_jar_file.jar 

In meinem Fall, ich erhalte eine Fehlermeldung:

Exception in thread "main" org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- main 

Meine Frage: Welche dieser beiden Optionen wird einfacher zu bedienen sein? Es wäre auch sehr hilfreich, eine Erklärung zu erhalten, was Warbler und Rawr im Hintergrund machen.

Vielen Dank im Voraus!

Antwort

2

Rawr ganz einfacher für die Standalone-Anwendung ist. In Ihrem Fall haben Sie die Hauptklasse noch nicht festgelegt. Sie sollten es überprüfen auf build_configuration.rb

# The main ruby file to invoke, minus the .rb extension 
# default value: "main" 
# 
c.main_ruby_file = "hello" 

wo in meinem Fall hello.rb die Haupt Rubin-Datei.

+0

Vielen Dank! Jetzt funktioniert es und passt zu meinen Bedürfnissen. –

0

Laut dem Warbler-Bug, auf den Sie verweisen, wurde der Fix zusammengeführt, aber es sieht so aus, als ob kein Edelstein seither veröffentlicht wurde.

Ich schlage vor, Sie versuchen, den Aufbau ein neuestes wobbelton Juwel aus der Github Quelle, wie pro this question

Verwandte Themen