The task retrieves a stack trace from a reference ID and writes the contents of the stack trace to a property. This task can be used in conjunction with the AntContrib tryCatch task to print out the stack from the exception that was encountered.

Attributes

The following table describes the task specific attributes for the task:

Task Specific Attributes
Attribute Description Required
property Name of the Ant property in which to return the stack trace. Yes
refid The reference ID for the exception. Yes

Notes

Examples

Log the stack trace from an exception:

<target name="test" description="test">
  <trycatch reference="exception">
    <try>
      <ant antfile="notthere.xml"/>
    </try>
    <catch>
      <xt:getStackTrace refid="exception" property="stackTrace"/>
      <echo message="${stackTrace}"/>
    </catch>
  </trycatch>
</target>
    

Log:

        [echo] The following error occurred while executing this line:
        [echo] Error reading project file /Users/djreilly/workspaces/RTC_Client/$djr/notthere.xml: /Users/djreilly/workspaces/RTC_Client/$djr/notthere.xml
        [echo]   at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:582)
        [echo]   at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:395)
        [echo]   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at java.base/java.util.Vector.forEach(Vector.java:1394)
        [echo]   at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at net.sf.antcontrib.logic.TryCatchTask.execute(TryCatchTask.java:207)
        [echo]   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at org.apache.tools.ant.Target.execute(Target.java:449)
        [echo]   at org.apache.tools.ant.Target.performTasks(Target.java:470)
        [echo]   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
        [echo]   at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
        [echo]   at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        [echo]   at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
        [echo]   at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
        [echo]   at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:712)
        [echo]   at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:532)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.eclipse.ant.core.AntRunner.run(AntRunner.java:374)
        [echo]   at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:272)
        [echo]   at java.base/java.lang.Thread.run(Thread.java:834)
        [echo] Caused by: Error reading project file /Users/djreilly/workspaces/RTC_Client/$djr/notthere.xml: /Users/djreilly/workspaces/RTC_Client/$djr/notthere.xml
        [echo]   at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:307)
        [echo]   at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:182)
        [echo]   at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:104)
        [echo]   at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:393)
        [echo]   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at java.base/java.util.Vector.forEach(Vector.java:1394)
        [echo]   at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at net.sf.antcontrib.logic.TryCatchTask.execute(TryCatchTask.java:207)
        [echo]   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at org.apache.tools.ant.Target.execute(Target.java:449)
        [echo]   at org.apache.tools.ant.Target.performTasks(Target.java:470)
        [echo]   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
        [echo]   at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
        [echo]   at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        [echo]   at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
        [echo]   at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
        [echo]   at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:712)
        [echo]   at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:532)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.eclipse.ant.core.AntRunner.run(AntRunner.java:374)
        [echo]   at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:272)
        [echo]   at java.base/java.lang.Thread.run(Thread.java:834)
        [echo] Caused by: /Users/djreilly/workspaces/RTC_Client/$djr/notthere.xml
        [echo]   at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
        [echo]   at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
        [echo]   at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
        [echo]   at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
        [echo]   at java.base/java.nio.file.Files.newByteChannel(Files.java:371)
        [echo]   at java.base/java.nio.file.Files.newByteChannel(Files.java:422)
        [echo]   at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:420)
        [echo]   at java.base/java.nio.file.Files.newInputStream(Files.java:156)
        [echo]   at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:252)
        [echo]   at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:182)
        [echo]   at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:104)
        [echo]   at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:393)
        [echo]   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at java.base/java.util.Vector.forEach(Vector.java:1394)
        [echo]   at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at net.sf.antcontrib.logic.TryCatchTask.execute(TryCatchTask.java:207)
        [echo]   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        [echo]   at org.apache.tools.ant.Task.perform(Task.java:350)
        [echo]   at org.apache.tools.ant.Target.execute(Target.java:449)
        [echo]   at org.apache.tools.ant.Target.performTasks(Target.java:470)
        [echo]   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
        [echo]   at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
        [echo]   at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        [echo]   at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
        [echo]   at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
        [echo]   at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:712)
        [echo]   at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:532)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [echo]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        [echo]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [echo]   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        [echo]   at org.eclipse.ant.core.AntRunner.run(AntRunner.java:374)
        [echo]   at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:272)
        [echo]   at java.base/java.lang.Thread.run(Thread.java:834)