2012-09-25 16 views
6

Soy nuevo en Netbeans, y nuevo (menos de un año) en la programación de Ruby. Me he sentido cada vez más frustrado con Eclipse y Ruby, ¡no es como Mac! - y decidió, basado en la recomendación en "Usar JRuby", probar Netbeans.No se pudieron cargar las definiciones desde el recurso net/sf/antcontrib/antlib.xml, netbeans

Después de un montón de blogs, sobre todo de post Geertjan, lo tengo todo configurado (creo), pero sigo recibiendo este error:

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

La parte pertinente (de nuevo, creo) de build.xml es:

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

puntos binaries.cache a /Users/carolyn/.hgexternalcache; el archivo jar, simplemente no puedo encontrar nada. He preguntado en el blog de Geertjan, y pensé que podría preguntar aquí también. He intentado una variedad de cosas diferentes. Me tomó un tiempo descubrir que Netbeans usa su propia Java y Ant! - y $ ANT_HOME no está definido, pero nada de lo que intento parece funcionar. Sé que me estoy perdiendo algo simple, ¡pero no puedo entender qué podría ser!

Estoy ejecutando OS X Mountain Lion, con Netbeans 7.2 (compilación 201207171143). Descargué NB Ruby en "~/Downloads/mercurial/NB Ruby".

¡Gracias de antemano por cualquier ayuda! :-)

Gracias @TarjusArjun!

Una vez que haya encontrado ant-contrib-1.0b3.jar (I found it here), que tiene que ser copiado en:

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

Si su instalación es como la mía, a continuación, obtener un manojo de nuevo errores y una compilación fallida, pero es un problema diferente.

(Gracias, Jav_Rock, para el enlace de edición. :-) Me había olvidado por completo de hacer eso!)

+0

Una pregunta similar sobre Eclipse y alrededor pura hormiga: http: // stackoverflow.com/questions/15304845/getting-an-error-could-not-load-definitions-from-resource-net-sf-antcontrib-ant/28138306 # 28138306 –

Respuesta

5

Tal vez el problema principal radica en que el hecho de que el IDE NetBeans es no elegir el ANT_HOME. ANT viene incluido dentro del IDE de NETBEANS en esta ubicación: <<NETBEANSHOME>>/java/ant. Puede intentarlo colocando el ant-contrib-1.0b3.jar en esta ubicación.

+0

Eso pareció ser el truco, @TejasArjun! ¡Gracias! :-) –

+0

@ CarolynAnn Eso es genial. Pequeña edición en mi respuesta sin embargo. – Gaurav

+2

Carolyn, si resolvió tu problema, ¿tal vez deberías considerar el tema que respondió @TejasArjun? –

1

Me funciona con ubuntu. Copiar y renombrar el archivo de hormigas-contrib-1.0b3.jar a la ruta especificada

<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

¡Mis disculpas! Eché de menos tu respuesta, athspk. :-(Probaré esto un poco - He recurrido a Netbeans 6.9.1, pero realmente me gustaría probar el 7.2. Gracias, y de nuevo, ¡lo siento! –

0

La documentación Netbeans recomienda colocar el antlib en una ruta relativa al proyecto:

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

En lo anterior ejemplo, el antlib se coloca en mytask.jar y se hace referencia como parte del classpath de taskdef. Este enfoque es independiente de ANT_HOME y directorios específicos del usuario.

0

No se puede utilizar la propiedad de [taskdef]

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

A continuación, modifique build.xml con

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