Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在没有JRuby的情况下运行Rake任务_Java_Ruby On Rails_Jruby_Warbler - Fatal编程技术网

Java 在没有JRuby的情况下运行Rake任务

Java 在没有JRuby的情况下运行Rake任务,java,ruby-on-rails,jruby,warbler,Java,Ruby On Rails,Jruby,Warbler,有关: 我试图在没有安装JRuby的Tomcat服务器上运行rake任务。我正在用柳莺创建一个战争文件 使用链接问题的答案,我运行: java -cp lib/jruby-core*.jar:lib/jruby-stdlib*.jar org.jruby.Main -S rake -T 这让我得到了一个错误: Exception in thread "main" java.lang.NoClassDefFoundError: org/jruby/Main Caused by: java.lan

有关:

我试图在没有安装JRuby的Tomcat服务器上运行rake任务。我正在用柳莺创建一个战争文件

使用链接问题的答案,我运行:

java -cp lib/jruby-core*.jar:lib/jruby-stdlib*.jar org.jruby.Main -S rake -T
这让我得到了一个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jruby/Main
Caused by: java.lang.ClassNotFoundException: org.jruby.Main
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
ls lib
获取我:

ems-gems-activerecord-jdbc-adapter-1.2.2-lib-arjdbc-jdbc-adapter_java.jar
gems-gems-jdbc-sqlite3-3.7.2-lib-sqlite-jdbc-3.7.2.jar
gems-gems-jruby-jars-1.6.8-lib-jruby-core-1.6.8.jar
gems-gems-jruby-jars-1.6.8-lib-jruby-stdlib-1.6.8.jar
gems-gems-jruby-rack-1.1.10-lib-jruby-rack-1.1.10.jar
gems-gems-json-1.7.5-java-lib-json-ext-generator.jar
gems-gems-json-1.7.5-java-lib-json-ext-parser.jar
gems-gems-therubyrhino_jar-1.7.4-jar-rhino-1.7R4.jar
gems-gems-warbler-1.3.6-lib-warbler_jar.jar
jruby-core-1.6.8.jar
jruby-rack-1.1.10.jar
jruby-stdlib-1.6.8.jar
ojdbc6.jar
打开
jruby-core-1.6.8.jar
文件,我可以看到确实有一个
org/jruby/Main.class
文件

从文件列表中可以看到,没有
jruby complete
jar文件,因此我无法从运行命令


我做错了什么,现在有更好的方法吗?

两个月前我正在处理一个类似的问题,所以事情可能已经改变了,但我需要在我的类路径中包含所有的jar,必须使用bin存根,并且必须将GEM_设置为HOME以使一切正常工作。这可能更简单,但你引用的帖子对我也不起作用

我实际上已经安装了jruby(但我只是用它来构建连接的类路径),所以我的设置类似于:

cd /path/to/application/
export GEM_HOME=/path/to/application/gems
export CLASSPATH=$(jruby -e 'puts Dir["lib/*.jar"].join(":")')

RAILS_ENV=production java -cp $CLASSPATH org.jruby.Main bin/rake -T
同样有用的是,gem可以包含在您的gem文件中,以设置warbler包含的jruby版本(我使用的是
gem'JRubyJARS','1.7.0.preview2'
,因为1.7.0尚未发布)