nitinlakhanpal
nitinlakhanpal

Reputation: 11

getting error in Ant build junitreporting

When I am trying to build without junitreport its working fine. However, I need the junit report in html format ultimately with all the successful or failed scripts. Please suggest where I am going wrong. Any help would be appreciated.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- WARNING: Eclipse auto-generated file.
              Any modifications will be overwritten.
              To include a user specific buildfile here, simply create one in the same
              directory with the processing instruction <?eclipse.ant.import?>
              as the first entry and export the buildfile again. -->
<project basedir="." default="build" name="JavaP">
    <property environment="env"/>
    <property name="junit.output.dir" value="junit"/>
    <property name="debuglevel" value="source,lines,vars"/>
    <property name="target" value="1.6"/>
    <property name="source" value="1.6"/>
    <path id="JavaP.classpath">
        <pathelement location="bin"/>
        <pathelement location="../../Sel JAR/junit-4.8.1.jar"/>
        <pathelement location="../../Sel JAR/jxl.jar"/>
        <pathelement location="../../Sel JAR/poi-3.7.jar"/>
        <pathelement location="../../Sel JAR/reportng-1.1.3.jar"/>
        <pathelement location="../../Sel JAR/selenium-java-2.29.0.jar"/>
        <pathelement location="../../Sel JAR/selenium-server-2.29.0.jar"/>
        <pathelement location="../../Sel JAR/selenium-server-standalone-2.29.0.jar"/>
        <pathelement location="../../Sel JAR/testng-6.5.2.jar"/>
    </path>
    <target name="init">
        <mkdir dir="bin"/>
        <copy includeemptydirs="false" todir="bin">
            <fileset dir="src">
                <exclude name="**/*.launch"/>
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
    </target>
    <target name="clean">
        <delete dir="bin"/>
    </target>
    <target depends="clean" name="cleanall"/>
    <target depends="build-subprojects,build-project" name="build"/>
    <target name="build-subprojects"/>
    <target depends="init" name="build-project">
        <echo message="${ant.project.name}: ${ant.file}"/>
        <javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}" includeantruntime="false">
            <src path="src"/>
            <classpath refid="JavaP.classpath"/>
        </javac>
    </target>
    <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/>
    <target description="copy Eclipse compiler jars to ant lib directory" name="init-eclipse-compiler">
        <copy todir="${ant.library.dir}">
            <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
        </copy>
        <unzip dest="${ant.library.dir}">
            <patternset includes="jdtCompilerAdapter.jar"/>
            <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
        </unzip>
    </target>
    <target description="compile project with Eclipse compiler" name="build-eclipse-compiler">
        <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
        <antcall target="build"/>
    </target>
    <target name="JavaP">
        <mkdir dir="${junit.output.dir}"/>
        <junit fork="yes" printsummary="withOutAndErr">
            <formatter type="xml"/>
            <test name="seleniumtest.Helloworld" todir="${junit.output.dir}"/>
            <test name="seleniumtest.Testclass" todir="${junit.output.dir}"/>
            <classpath refid="JavaP.classpath"/>
        </junit>
    </target>
    <target name="junitreport">
        <junitreport todir="${junit.output.dir}">
            <fileset dir="${junit.output.dir}">
                <include name="TEST-*.xml"/>
            </fileset>
            <report format="frames" todir="${junit.output.dir}"/>
        </junitreport>
    </target>
</project>

Error Details

Buildfile: D:\Seljava\JavaP\build.xml
build-subprojects:
init:
build-project:
     [echo] JavaP: D:\Seljava\JavaP\build.xml
build:
junitreport:
[junitreport] Processing D:\Seljava\JavaP\junit\TESTS-TestSuites.xml to C:\Users\nitinl\AppData\Local\Temp\null1642041795
[junitreport] Loading stylesheet jar:file:/D:/Eclipse-Workspace/eclipse/plugins/org.apache.ant_1.8.2.v20120109-1030/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] : Error! The first argument to the non-static Java function 'replace' is not a valid object reference.
[junitreport] : Error! Could not compile stylesheet
[junitreport] : Fatal Error! Could not compile stylesheet Cause: Cannot convert data-type 'void' to 'reference'.
[junitreport] Failed to process D:\Seljava\JavaP\junit\TESTS-TestSuites.xml

BUILD FAILED
D:\Seljava\JavaP\build.xml:70: Errors while applying transformations: Fatal error during transformation

Total time: 450 milliseconds

Upvotes: 1

Views: 2786

Answers (3)

Erik Mueller
Erik Mueller

Reputation: 350

this is an issue inside ant...

you can fix this by downloading two jars from the ant homepage: org.apache.xalan org.apache.xml.serializer

put these files below C:\Windows\Sun\Java\lib\ext in my case the lib and ext folder didn'T exist if this is the case just create them. reboot eclipse and everything will work fine. (it did for me so on two pc's and also a lot of mates at my subject did have the same issue and this solution worked for all of them)

regards

Upvotes: 0

Gabriel
Gabriel

Reputation: 39

I had the same issue running from eclipse kepler with ant 1.8.4 and java 5 or 6.
It works from the command line, ant 1.7.0, with java 5 or 6.

Upvotes: 0

Bryan Hutchinson
Bryan Hutchinson

Reputation: 85

I had this same issue after upgrading from Java 6 to Java 7. I was able to workaround the issue by running ant on the command-line using Ant 1.9.0.

Unfortunately, switching to Ant 1.9.0 in Eclipse (per these instructions: How to upgrade the ant built into eclipse?) didn't address the issue when running Ant within Eclipse, but running on the command-line is working, so that's what I'm using.

Upvotes: 2

Related Questions