2011-03-14 48 views
1

Ant目標中我有以下幾點:的JRuby稱爲螞蟻無法找到的寶石,我究竟做錯了

<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> 

假設路徑是正確的(我他們稍微改變了這個例子) 。

我的編譯失敗,因爲寶石不能用一個錯誤信息中找到:

`report_activate_error': Could not find RubyGem chunky_png (~> 0.12.0) (Gem::LoadError) 

如果我通過gem安裝寶石本會的工作,但我不想這樣做,因爲我不能保證構建服務器上會有什麼。

+0

最初的預感是指定多個'-r'參數。 – 2011-03-14 05:43:35

回答

2

問題最終導致我錯誤地創建了我的chunky_png.jar

看看Gems in a Jar我注意到我的.jar應該包含一個specifications目錄,我的.jar沒有。

修復了我如何創建.jar解決了這個問題。

+0

我也決定使用'

0

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> 

另一件事,試圖將投入包含你的類路徑上的寶石檔案爲您java任務。

+0

這也行不通。 – 2011-03-14 07:17:54

+0

標準Ruby也使用'-r'參數。我想知道您是否應該指定庫名稱,例如'chunky_png'和'compass',我想再次確認gem檔案在類路徑中。 – 2011-03-14 07:32:59