2012-04-03 8 views
1

Ich habe einen TestNG-Test, der für sich selbst einwandfrei funktioniert. Irgendwo in ihm bekam ich:Ant-TestNG Classpath-Problem: getResource kann die Datei nicht finden

URL fileName = this.getClass().getClassLoader().getResource("config.properties"); 

Ich versuche, den gleichen Test mit Ant auszuführen:

<testng outputDir="${resultsFolder}" haltOnFailure="false"> 
    <classpath> 
     <fileset dir="./src/"> 
     <include name="**/*.properties"/> 
     </fileset> 
      -----------------------------...-------------------- 
</classpath> 
<classfileset dir="correct path here" includes="**/*.class" /> 
</testng> 

ich im Debug-Modus zu sehen, dass die config.properties im Classpath ist. Aber die Linie an der Spitze kann es nicht finden, es ist null.

EDIT: Ich habe es gelöst. Die kritische Zeile sucht nicht direkt nach der Datei im Klassenpfad, sie sucht IN in den Dateien/Ordnern. So, das löste mein Problem:

<pathelement location="src/"/> 

Danke für die Hilfe.

+0

ist config.properties in einem Unterordner unter src? – oers

+0

Nein, ist es nicht. Es war im src-Ordner, aber an diesem Punkt versuche ich verschiedene Dinge damit. Wenn ich System.out.println (System.getProperties(). GetProperty ("java.class.path")); config.properties ist eigentlich da. – Mooncrosser

Antwort

1

bereite <classpath>...</classpath> mit dieser ersetzen:

<classpath> 
    <pathelement path="./src"/> 
</classpath> 

Damit JVM die config.properties das übergeordnete Verzeichnis von config.properties in Classpath zu finden sein sollte.

+0

Ich habe es gerade selbst gelöst, aber TY :) – Mooncrosser

+0

Vielleicht können Sie das Tag zu schließen. Mein XML wurde nach dem Kopieren ungültig gemacht :) – Buffalo

Verwandte Themen