Ant JUnit Class Not found



  • Hallo ich schreibe gerade an einer Applikation und möchte dazu ein ant Script schreiben, das es compiliert, baut und testet. Das compilieren und Bauen klappt sehr gut. Aber der unit Test wirft immer einen Fehler : ClassNotFoundException.

    Kurz zur Info : ich habe ein seperates packes "unitTest" wo alle UnitTest Klassen enthalten sind.

    Hier ist das Ant Script :

    <!-- - - - - - - - - - - - - - - - - -
              target: init              
             - - - - - - - - - - - - - - - - - -->
        <target name="init">
    
        	<property name="root" value=".\.."/> 
    
        	<!-- folder name -->
        	<property name="dirSrc" location="${root}\src"/>
        	<property name="dirLibs" location="${root}\lib"/>
        	<property name="dirBin" location="${root}\tmpBin"/>
        	<property name="dirExport" location="${root}\export"/>
        	<property name="dirUnitTest" location="${dirSrc}\unitTest"/>
        	<property name="dirUnitTestResults" location="${root}\unitTestResults"/>  	
    
        	<!-- compiler options -->
        	<property name="flagDebug" value="true"/>
        	<property name="flagVerbose" value="true"/>
        	<property name="flagOptimize" value="true"/>
        	<property name="flagNoWarn" value="false"/>
    
        	<!-- build variables -->    	
        	<property name="pathJarFile" value="${dirExport}\Exe.jar"/>    	
        	<property name="nameMainClass" value="main.MainClass" />
    
        	<!-- unitTest options -->
        	<property name="flagShowOutPut" value="true"/>
        	<property name="flagPrintSummary" value="true"/>
    
    		<delete dir="${dirBin}" />
    		<mkdir dir="${dirBin}"/>
    
    		<delete dir="${dirExport}"/>
    		<mkdir dir="${dirExport}"/>
    
    		<delete dir="${dirUnitTestResults}"/>
    		<mkdir dir="${dirUnitTestResults}"/>
    
        	<path id = "classPathBasic">
        		<pathelement location="${dirLibs}"/>    		
        		<pathelement location="${dirSrc}"/>
        	</path>
    
    		<path id="classpathTest">
    			<pathelement location="${dirLibs}\junit.jar"/>
    			<pathelement location="${dirBin}\unitTest"/>
    			<path refid="classPathBasic"/>		
    		</path>
    
        </target>	
    
    	<!-- - - - - - - - - - - - - - - - - -
              target: compile              
             - - - - - - - - - - - - - - - - - -->
        <target name="compile" depends="init">
    
    		<javac 	srcdir="${dirSrc}" 
    				destdir="${dirBin}" 
    				debug="${flagDebug}" 
    				verbose="${flagVerbose}" 
    				optimize="${flagOptimize}" 
    				nowarn="$flagNoWarn}">
    
    			<classpath refid="classPathBasic"/>		
    			<exclude name="**/unitTest/*.java"/>
    
    		</javac>	
    
        </target>	
    
    	<!-- - - - - - - - - - - - - - - - - -
              target: build              
             - - - - - - - - - - - - - - - - - -->
        <target name="build" depends="compile">
    
    		<jar basedir="${dirBin}" destfile="${pathJarFile}" >
    			<manifest>
    				<attribute name="Main-Class" value="${nameMainClass}"/>
    			</manifest>
    			<zipgroupfileset dir="${dirLibs}" includes="**\*.jar" />		
    		</jar>	
    
        </target>	
    
    	<!-- - - - - - - - - - - - - - - - - - 
              target: unitTest                      
             - - - - - - - - - - - - - - - - - -->
        <target name="unitTest" depends="build">
    
        	<junit fork="true" haltonfailure="true" showoutput="${flagShowOutPut}" printsummary="${flagPrintSummary}">
    
    			<classpath refid="classpathTest"/>	
    
    	   		<!-- set the format of the report -->			
        		<formatter type="xml" />
    
    			<batchtest todir="${dirUnitTestResults}">    	    		
    				<fileset dir="${dirUnitTest}" includes="**/UnitTest*"/>    	    			
    			</batchtest>		    		
    
    		</junit>
    
        </target>	
    
    	<!-- ================================= 
              target: cleanUp              
             ================================= -->
        <target name="cleanUp" description="remove all unsed files">
    
    		<delete dir="${dirBin}" />		
    
        </target>
    

    Ich vermute mal das es etwas mit dem ClassPath zu tun hat. Habe schon eine ganz Menge probiert aber ich bekomme es nicht hin.

    Hat jemand eine Idee ?

    VIelen Dank


Log in to reply