8

私は Netbeans の初心者で、Ruby プログラミングの初心者 (1 年未満) です。私は Eclipse と Ruby にますますフラストレーションを感じています。まったく Mac らしくありません。- 「JRuby の使用」の推奨事項に基づいて、Netbeans を試すことにしました。

一連のブログ投稿、特に Geertjan の投稿に従って、すべてを構成しました (と思います) が、このエラーが発生し続けます。

Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.

build.xml の関連部分 (これもまた思います) は次のとおりです。

<taskdef resource="net/sf/antcontrib/antlib.xml">
    <classpath>
        <pathelement location="${binaries.cache}/943CD5C8802B2A3A64A010EFB86EC19BAC142E40-ant-contrib-1.0b3.jar"/>
    </classpath>
</taskdef>

binaries.cache は /Users/carolyn/.hgexternalcache を指します。jarファイル、どこにも見つかりません。Geertjan のブログで質問したことがありますが、ここでも質問しようと思いました。私はさまざまなことを試しましたが、Netbeans が独自の Java と Ant を使用していることを理解するのにしばらく時間がかかりました。-そして $ANT_HOME は定義されていませんが、私が試したものは何も機能していないようです。簡単なものが欠けていることはわかっていますが、それが何であるかわかりません!

Netbeans 7.2 (ビルド 201207171143) で OS X Mountain Lion を実行しています。「~/Downloads/mercurial/NB Ruby」にNB Rubyをダウンロードしました。

助けてくれてありがとう!:-)

ありがとう@TarjusArjun!

ant-contrib-1.0b3.jar (私はここで見つけました) を見つけたら、次の場所にコピーする必要があります。

/Applications/NetBeans/NetBeans 7.2.app/Contents/Resources/NetBeans/java/ant/lib

あなたのインストールが私のようなものである場合、一連の新しいエラーと失敗したビルドが発生しますが、それは別の問題です.

(Jav_Rock さん、リンクを編集してくれてありがとう。:-) そんなことをするのをすっかり忘れていました!)

4

5 に答える 5

6

おそらく、根本的な問題は、NetBeans IDE が ANT_HOME を選択していないという事実にあります。ANT は、NETBEANS IDE の次の場所にバンドルされています<<NETBEANSHOME>>/java/ant。この場所に を配置して試すことができant-contrib-1.0b3.jarます。

于 2012-09-26T09:37:33.383 に答える
1

それはubuntuで私のために働いています。指定したパスにファイル ant-contrib-1.0b3.jar をコピーして名前を変更します

<target name="downloadbinaries" description="Download external binaries not stored in Mercurial sources." depends="-taskdefs">
    <property file="${user.home}/.nbbuild.properties"/> <!-- permit binaries.cache to be overridden -->
    <property name="binaries.cache" location="${user.home}/.hgexternalcache"/>
    <property name="binaries.server" value="http://hg.netbeans.org/binaries/"/>
    <downloadbinaries cache="${binaries.cache}" server="${binaries.server}">
        <manifest dir=".">
            <include name="*/external/binaries-list"/>
        </manifest>
    </downloadbinaries>

    <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="${binaries.cache}/**943CD5C8802B2A3A64A010EFB86EC19BAC142E40-ant-contrib-1.0b3.jar**"/>
        </classpath>
    </taskdef>
</target>
于 2012-10-04T23:21:03.243 に答える
0

Netbeans のドキュメントでは、antlib をプロジェクトからの相対パスに配置することを推奨しています。

<project name="test" default="all" basedir=".">
    <target name="init">
        <javac srcdir="tasksource" destdir="build/taskclasses"/>
        <jar jarfile="mytasks.jar">
            <fileset dir="build/taskclasses"/>
        </jar>
        <taskdef name="customtask" classname="com.mycom.MyCustomTask">
            <classpath>
                 <pathelement location="mytasks.jar"/>
            </classpath>
        </taskdef>
    </target> 
</project>

上記の例では、antlib が配置され、タスク定義mytask.jarのクラスパスの一部として参照されます。ANT_HOMEこのアプローチは、ユーザー固有のディレクトリとは無関係です。

于 2013-03-17T03:15:43.563 に答える