1

我在 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)

如果我通过它安装 Gemsgem将起作用,但我不想这样做,因为我无法保证构建服务器上会出现什么。

4

2 回答 2

2

问题最终是我chunky_png.jar错误地创建了我的。

看看Gems in a Jar,我注意到我的.jar应该包含一个specifications目录,而我.jar没有。

修复我创建.jar解决问题的方式。

于 2011-03-14T21:12:07.757 回答
0

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>

要尝试的另一件事是将包含您的 gem 的档案放在您的java任务的类路径中。

于 2011-03-14T07:10:25.030 回答