我在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>假设路径是正确的(在本例中,我稍微修改了它们)。
我的构建失败了,因为找不到Gems,并显示错误消息:
`report_activate_error': Could not find RubyGem chunky_png (~> 0.12.0) (Gem::LoadError)如果我通过gem安装Gems,这将会起作用,但我不想这样做,因为我不能保证构建服务器上会有什么。
发布于 2011-03-15 05:12:08
问题最终是我错误地创建了我的chunky_png.jar。
看了一下Gems in a Jar,我注意到我的.jar应该包含一个specifications目录,而我的.jar没有。
修复了我创建.jar的方式解决了这个问题。
发布于 2011-03-14 15:10:25
JRuby的command line parameter documentation在-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>可以尝试的另一件事是将包含gem的存档放在java任务的类路径中。
https://stackoverflow.com/questions/5295143
复制相似问题