Creating a simple executable jar containing ruby code


I’m a relative noobie ruby dev and I was poking around with rawr. I
wrote a simple .rb file and then used rawr to package it into a jar but
have run into some errors.
I have brought it down to bare bones to understand how this all works
so I have one ruby file called rubytest.rb.

I ran

rake rawr:jar

which produces a package/jar/Test.jar for me. All very well and good
until I try to execute the jar with

java -jar package/jar/Test.jar.

This gives me and error of:

$ java -jar package/jar/Tests.jar
Exception in thread “main” org.jruby.exceptions.RaiseException:
(LoadError) no such file to load – main
at org.jruby.RubyKernel.require(org/jruby/
at #Class:0x100ac06d4.(root)(:1)

I’m not sure what is wrong, am I missing something here?


Sorry, just to add that I did try to run the jar file with

java -cp.:/package/jar/lib/java/jruby.jar package/jar/Test.jar

to get and exception error as :

$ java -cp .:package/jar/lib/java/jruby.jar package/jar/Tests.jar
Exception in thread “main” java.lang.NoClassDefFoundError:
Caused by: java.lang.ClassNotFoundException: package.jar.Tests.jar
at$ Source)
at Method)
at Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: package/jar/Tests.jar. Program will

Alright I was able to solve the mystery and got it to work. It was a
question of having a build configuration file setup to point in the
proper areas; I had some values commented out so now it works.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs