2011-01-26 28 views

Respuesta

0

Creo que la siguiente es la causa: junit.jar no está en la variable de entorno CLASSPATH. Agregue junit.jar a su CLASSPATH o agréguelo al classpath que defina en su archivo de compilación ant.

Aquí hay un introduction to ant.

7

La documentación de la tarea ant Junit da una lista de opciones de cómo llegar a la ruta de clase junit.jar:

http://ant.apache.org/manual/Tasks/junit.html

para ahorrarle la búsqueda, las opciones se reproducen a continuación. Mi preferencia es la opción 1.

  1. Coloque junit.jar y ant-junit.jar en ANT_HOME/lib.
  2. No coloque ANT_HOME/lib, y en su lugar incluya sus ubicaciones en la variable de entorno CLASSPATH.
  3. Agregue ambos JAR a su classpath usando -lib.
  4. Especifique las ubicaciones de ambos JAR utilizando un elemento en a en el archivo de compilación.
  5. Deje ant-junit.jar en su ubicación predeterminada en ANT_HOME/lib, pero incluya junit.jar en el pasado a. (Ya que la hormiga 1,7)
4
<property name="lib.dir" value="webcontent\WEB-INF\lib" /> 

<path id="classPath"> 
    <pathelement location="${lib.dir}/junit-4.11.jar" /> 
</path> 

<target name="test" depends="build"> 

    <junit haltonerror="false" haltonfailure="false" fork="yes"> 
     <classpath path="${lib.dir}"> 
      <path refid="classPath" /> 
     </classpath> 

    </junit> 
</target> 
0

no tengo idea de lo que significa, pero en mi caso parece que hubo un conflicto debido a Dropbox. Reiniciar Netbeans resolvió el problema. Podría tener algo que ver con mi uso de Linux y compañeros de clase que usan Windows, pero no estoy seguro.

"Sólo reiniciar Netbeans" podría ser demasiado simple para una respuesta stackoverflow, pero si alguien había publicado él, me habría ahorrado un tiempo ...

0

pasé un par de horas con este problema hoy en día. Tenía los archivos .jar todo especificadas en Eclipse a través del Proyecto | Propiedades | Java Build Path, pero todavía estaba recibiendo el error

<classpath> for <junit> must include junit.jar if not in Ant's own classpath 

cuando se ejecuta Ant desde Eclipse.

Ejecutar Ant desde la línea de comandos funcionaría bien (tenía todo en la variable de entorno classpath).

Pero en Eclipse lo único que funcionaba era indicar explícitamente la ruta de clases dentro de los elementos, por ejemplo:

<path id="JUnit 4.libraryclasspath"> 
     <pathelement location="...\plugins\org.junit_4.11.0.v201303080030\junit.jar"/> 
     <pathelement location="...\plugins\org.hamcrest.core_1.3.0.v201303031735.jar"/> 
     <pathelement location="...\lib\ant-junit4.jar"/>   
    </path> 
    <path id="Ant1.classpath"> 
     <pathelement location="bin"/> 
     <pathelement location="."/> 
     <path refid="JUnit 4.libraryclasspath"/> 
    </path> 

... stuff... 

    <target name="test1" depends="compile"> 
     <junit> 
      <classpath refid="Ant1.classpath"/> 
     </junit> 

    </target> 

sin especificar explícitamente la ruta de clase dentro del elemento junit, se rompería en Eclipse cada vez, incluso sólo una referencia al descubierto

<junit/> 

no soy un experto, sólo un informe de lo que funcionó en la actualidad.

-ctb

Cuestiones relacionadas