我需要将我的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