Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Ruby 在Ant can';我找不到宝石,我做错了什么_Ruby_Ant_Gem_Jruby_Gems In A Jar - Fatal编程技术网

Ruby 在Ant can';我找不到宝石,我做错了什么

Ruby 在Ant can';我找不到宝石,我做错了什么,ruby,ant,gem,jruby,gems-in-a-jar,Ruby,Ant,Gem,Jruby,Gems In A Jar,我在Ant目标中有以下内容: <java jar="tools/jars/jruby-complete.jar" fork="true"> <arg value="-r"/> <arg value="tools/jars/chunky_png.jar"/> <arg value="-r"/> <arg value="tools/jars/compass.jar"/> <arg value="

我在Ant目标中有以下内容:

<java jar="tools/jars/jruby-complete.jar" fork="true">
    <arg value="-r"/>
    <arg value="tools/jars/chunky_png.jar"/>
    <arg value="-r"/>
    <arg value="tools/jars/compass.jar"/>
    <arg value="-S"/>
    <arg value="compass/compass-compile.rb"/>
    <arg value="${basedir}"/>
</java>
如果我通过
gem
安装Gems,这将起作用,但我不想这样做,因为我不能保证构建服务器上会有什么。

for JRuby在
-r
标志和库之间没有空格。下面的方法有效吗

<java jar="tools/jars/jruby-complete.jar" fork="true">
    <arg value="-rtools/jars/chunky_png.jar"/>
    <arg value="-rtools/jars/compass.jar"/>
    <arg value="-S"/>
    <arg value="compass/compass-compile.rb"/>
    <arg value="${basedir}"/>
</java>


另一件要尝试的事情是将包含您的gems的归档文件放在
java
任务的类路径上。

问题在于我创建的
chunky_png.jar
不正确

查看之后,我注意到我的
.jar
应该包含
规范
目录,而我的
.jar
没有


解决了我如何创建
.jar
的问题。

最初的预感是它与指定多个
-r
参数有关。
-r
参数也被标准Ruby使用。我想知道您是否应该只指定库名,例如
chunky\u png
compass
,我想再次确保gem归档文件位于类路径上。我还决定使用
块而不是
调用jRuby,但核心问题是
.jar的打包不正确。
<java jar="tools/jars/jruby-complete.jar" fork="true">
    <arg value="-rtools/jars/chunky_png.jar"/>
    <arg value="-rtools/jars/compass.jar"/>
    <arg value="-S"/>
    <arg value="compass/compass-compile.rb"/>
    <arg value="${basedir}"/>
</java>