2012-09-25 42 views
6

nicht laden Ich bin zu Netbeans neu, und neulich (weniger als ein Jahr) zur Ruby-Programmierung. Ich bin immer frustrierter geworden mit Eclipse und Ruby - es ist überhaupt nicht Mac-ähnlich! - und entschied, basierend auf der Empfehlung in "Using JRuby", Netbeans zu probieren.Konnte Definitionen von Ressource net/sf/antcontrib/antlib.xml, netbeans

ein Bündel von Blog-Posts Folgen, insbesondere Geertjan der post, ich habe konfiguriert habe alles (glaube ich), aber ich halte diesen Fehler:

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

der relevanten Teil (wieder, glaube ich) von build.xml ist:

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

binaries.cache Punkte /Users/carolyn/.hgexternalcache; Die JAR-Datei kann ich nirgends finden. Ich habe auf Geertjans Blog gefragt, und ich dachte, ich würde auch hier fragen. Ich habe verschiedene Dinge ausprobiert - es dauerte eine Weile, bis ich herausgefunden hatte, dass Netbeans sein eigenes Java und Ant verwendet! - und $ ANT_HOME ist nicht definiert, aber nichts, was ich versuche, scheint zu funktionieren. Ich weiß, ich vermisse etwas Einfaches, kann aber nicht herausfinden, was es sein könnte!

Ich betreibe OS X Mountain Lion, mit Netbeans 7.2 (Build 201207171143). Ich habe NB Ruby nach "~/Downloads/mercurial/NB Ruby" heruntergeladen.

Vielen Dank im Voraus für jede Hilfe! :-)

Danke @TarjusArjun!

Sobald Sie ant-contrib-1.0b3.jar gefunden habe (I found it here), muss sie kopiert werden:

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

Wenn Ihr installieren ist so etwas wie meine, bekommt man dann einen Haufen neuer Fehler und ein fehlgeschlagener Build - aber es ist ein anderes Problem.

(Danke, Jav_Rock, für den Link bearbeiten. :-) Ich hatte total vergessen, um das zu tun!)

+0

Eine ähnliche Frage zu Eclipse und über reine Ameise: http: // Stackoverflow.com/questions/15304845/getting-a-error-konnte-nicht-laden-definitionen-from-resource-net-sf-antcontrib-ant/28138306 # 28138306 –

Antwort

5

Vielleicht ist Ihr Grundproblem liegt, dass in der Tatsache, dass die NetBeans IDE ist die ANT_HOME nicht Kommissionierung. ANT wird in NETBEANS IDE an diesem Ort gebündelt: <<NETBEANSHOME>>/java/ant. Sie können versuchen, indem Sie die ant-contrib-1.0b3.jar an diesem Ort platzieren.

+0

Das schien den Trick zu tun, @ TejasArjun! Vielen Dank! :-) –

+0

@CarolynAnn Das ist großartig. Kleiner Schnitt in meiner Antwort. – Gaurav

+2

Carolyn, wenn es dein Problem gelöst hat, solltest du vielleicht das von @TejasArjun beantwortete Thema betrachten? –

1

Es funktioniert für mich mit ubuntu. Kopieren und benennen Sie die Datei ant-contrib-1.0b3.jar auf den Pfad angegeben

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

Entschuldigung! Ich habe deine Antwort total vermisst, athpk. :-(Ich werde es versuchen in einem kleinen Weile - ich habe auf Netbeans 6.9.1, aber ich würde gerne versuchen, die 7.2. Danke, und noch einmal - Entschuldigung! –

0

Die Netbeans Dokumentation empfiehlt das Projekt die antlib in einem Pfad relativ Abdrucken:

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

In dem obigen Beispiel: Die Antlib wird in mytask.jar platziert und als Teil des Klassenpfads von Taskdef referenziert. Dieser Ansatz ist unabhängig von ANT_HOME und benutzerspezifischen Verzeichnissen.

0

Sie können nicht Eigenschaft in [taskdef]

sudo cp ant-contrib-1.0b3.jar /usr/local/lib/. 

Ändern Sie dann build.xml mit

<pathelement location="/usr/local/lib/ant-contrib-1.0b3.jar"/>