我需要將我的JRuby應用程序編譯爲獨立的JAR文件。我怎樣才能做到這一點?創建可部署的JRuby JAR文件?
23
A
回答
1
要只運行一個腳本:
JRuby的網站上有一個可運行的JAR文件,您可以在JRuby download page得到。您需要JRuby完整的JAR文件。然後你可以通過執行你的應用程序
java -jar jruby-complete-1.4.0.jar <script>
我相信你也可以從源代碼構建相同的JAR文件。在下載的源做
ant --projecthelp
要嵌入的Ruby腳本完全進入一個JAR文件:Embedding JRuby in Java是一個很好的起點。您可能想要取消註冊jruby-complete.jar
文件,添加您的Java主類,該主類要麼標註了JRuby腳本,要麼嵌入了Ruby代碼,替換清單的主類以指向新的入口點,然後將它備份。
4
2
JRuby 1.6改進了這一點。現在有一部分wiki - StandaloneJarsAndClasses - 講述如何使用jrubyc來生成.class文件和獨立的jar。
有了新的編譯器,你可以建立.class文件就像從維基這個例子:
[email protected]:/tmp/fnx$ cat my_foo.rb class Foo def bar(a, b) puts a + b end end [email protected]:/tmp/fnx$ ~/jruby/bin/jrubyc --javac my_foo.rb Generating Java class Foo to C:/cygwin/tmp/fnx/Foo.java javac -d C:/cygwin/tmp/fnx -cp C:/cygwin/home/james/jruby/lib/jruby.jar;. C:/cygwin/tmp/fnx/Foo.java [email protected]:/tmp/fnx$ ls Foo.class Foo.java my_foo.rb [email protected]:/tmp/fnx$ javap.exe Foo Compiled from "Foo.java" public class Foo extends org.jruby.RubyObject{ public static org.jruby.runtime.builtin.IRubyObject __allocate__(org.jruby.Ruby, org.jruby.RubyClass); public Foo(); public java.lang.Object bar(java.lang.Object, java.lang.Object); static {}; }
,你可以設置入口點的廣口瓶中,org.jruby.JarBootstrapMain並添加JAR-引導.rb文件。
22
Warbler 1.3.0或更新版本也可用於製作可執行JAR文件。
快速指示。確保您使用JRuby`s寶石等在這裏:
$ gem install warbler
$ mkdir bin
$ cat <<EOF > bin/myapp
#!/usr/bin/env jruby
puts "Hello World"
EOF
$ chmod a+x bin/myapp
$ warble jar
您現在應該有一個myapp.jar
文件在當前目錄中。根據README
,您只需在lib
目錄中添加所需的任何庫,並使用(或兩者)一個.gemspec
或Gemfile
來控制需要放入.jar
文件的任何其他寶石。
相關問題
- 1. javafx部署jar文件
- 2. Gradle部署Jar文件
- 3. JRuby/Rack部署
- 4. 創建可執行的JRuby jar時,我可以省掉什麼?
- 5. 如何使用外部java jar文件創建jar文件
- 6. 使用JRuby創建獨立jar
- 7. 創建jar文件
- 8. 使用sinatra,warbler和jruby-openssl創建一個可執行的jar
- 9. maven部署額外的jar文件
- 10. 簽署使用maven-assembly插件創建的jar文件
- 11. 如何創建可部署的JavaScript文件
- 12. 關於部署JRuby腳本的問題
- 13. install4j部署沒有jar文件
- 14. 螞蟻部署到jar文件
- 15. 無法部署jar文件與圖像
- 16. 如何在JAR中部署文件?
- 17. Glassfish v2 asadmin「部署」jar文件
- 18. 創建和可執行的JAR文件使用一個外部XML文件
- 19. 使用調用.jar文件的文件創建.jar文件
- 20. 如何使用Ant使用外部jar文件創建jar
- 21. 如何構建一個具有內部jar文件的內部jar文件的可運行jar?
- 22. 創建.JAR文件失敗
- 23. 創建jar文件目錄?
- 24. 爲SlidingMenu創建jar文件
- 25. 創建jar文件目錄
- 26. 創建一個.jar文件
- 27. VSTO AddIn部署 - 我可以創建單個文件嗎?
- 28. weblogic 12.c無法創建部署。部署創建者爲空
- 29. weblogic.management.DeploymentException:無法創建部署。部署創建者爲空
- 30. 創建/寫入/讀取Jar存檔外部的文本文件
這個問題可能會有所幫助:http://stackoverflow.com/questions/1921475/compile-jruby-hello-world-problem – atomicules 2010-02-16 12:49:19
這個問題與編譯和執行(J)Ruby腳本有關,而不是與Jar包裝(部署)。 – 2013-12-02 12:15:45