2012-09-25 2 views
6

Je suis nouveau sur Netbeans et je suis nouveau (moins d'un an) en programmation Ruby. Je suis de plus en plus frustré avec Eclipse et Ruby - ce n'est pas du tout un Mac! - et décidé, sur la base de la recommandation dans "Using JRuby", d'essayer Netbeans.Impossible de charger les définitions à partir de la ressource net/sf/antcontrib/antlib.xml, netbeans

Après un tas de messages de blog, notamment de post Geertjan, j'ai tout configuré (je pense), mais je continue à obtenir cette erreur:

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

La partie pertinente (encore une fois, je pense) de build.xml est:

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

points de binaries.cache à /Users/carolyn/.hgexternalcache; le fichier jar, je ne trouve tout simplement nulle part. J'ai demandé sur le blog de Geertjan, et j'ai pensé que je demanderais aussi ici. J'ai essayé une variété de choses - il m'a fallu un certain temps pour comprendre que Netbeans utilise ses propres Java et Ant! - et $ ANT_HOME n'est pas défini, mais rien que j'essaie ne semble fonctionner. Je sais qu'il me manque quelque chose de simple, mais je n'arrive pas à comprendre ce que ça pourrait être! Je suis sous OS X Mountain Lion, avec Netbeans 7.2 (build 201207171143). J'ai téléchargé NB Ruby à "~/Downloads/mercurial/NB Ruby".

Merci d'avance pour toute aide! :-)

Merci @TarjusArjun!

Une fois que vous avez trouvé ant-contrib-1.0b3.jar (I found it here), il doit être copié:

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

Si votre installation est quelque chose comme le mien, vous obtenez alors un tas de nouveaux erreurs et une construction échouée - mais c'est un problème différent.

(Merci, Jav_Rock, pour l'édition de lien. :-) J'ai complètement oublié de faire ça!)

+0

Une question similaire à propos de l'éclipse et à propos de fourmi pur: http: // stackoverflow.com/questions/15304845/get-an-error-could-not-charger-définitions-de-ressource-net-sf-antcontrib-ant/28138306 # 28138306 –

Répondre

5

Peut-être votre problème fondamental réside que dans le fait que l'IDE NetBeans ne sélectionne pas le ANT_HOME. ANT est fourni dans NETBEANS IDE à cet emplacement: <<NETBEANSHOME>>/java/ant. Vous pouvez essayer en plaçant le ant-contrib-1.0b3.jar à cet endroit.

+0

Cela semblait faire l'affaire, @TejasArjun! Merci! :-) –

+0

@CarolynAnn C'est génial. Petite modification dans ma réponse si. – Gaurav

+2

Carolyn, si cela résolvait votre problème, peut-être devriez-vous considérer le sujet traité par @TejasArjun alors? –

1

Cela fonctionne pour moi avec ubuntu. Copier et renommer le fichier ant-contrib-1.0b3.jar au chemin d'accès spécifié

<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

Mes excuses! J'ai totalement raté ta réponse, athspk. :-(Je vais faire un essai dans un petit moment - J'ai recouru à Netbeans 6.9.1, mais j'aimerais vraiment essayer le 7.2, merci, et encore - désolé! –

0

La documentation Netbeans recommande de placer la antlib dans un chemin relatif au projet:

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

Dans ce qui précède Par exemple, l'antlib est placé dans mytask.jar et référencé comme faisant partie du classpath de taskdef. Cette approche est indépendante de ANT_HOME et des répertoires spécifiques à l'utilisateur.

0

Vous ne pouvez pas utiliser la propriété dans [taskdef]

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

ensuite modifier build.xml avec

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