0
我在創建自定義任務時,在創建該自定義任務時,我面臨ExceptionInInitializer異常。 我已將jdom-2.0.2.jar放入我的ant lib目錄中,以便自定義任務能夠成功編譯。 下面是我的自定義任務的代碼創建ant自定義任務時發生ExceptionInInitializerError
import java.io.*;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class Demo extends Task {
private String init;
@Override
public void execute() throws BuildException {
if(!init.isEmpty() && init!=null){
display();
}else{
throw new BuildException("Please enter attribute init");
}
}
public void setInit(String init){
this.init=init;
}
public void display(){
System.out.println("init value is "+init);
try {
SAXBuilder saxBuilder = new SAXBuilder();
} catch (Exception e) {
e.printStackTrace();
throw new BuildException("JDOMException caught");
}
}
}
這是我的Ant文件
<project name="XMLUpdate" default="main" basedir=".">
<target name="main" depends="compile,jar,runtask">
</target>
<target name="compile">
<javac srcdir="." destdir="."/>
</target>
<target name="jar">
<jar destfile="./Demo.jar" basedir="." includes="*.class"/>
</target>
<target name="runtask">
<taskdef name="dem" classname="Demo"/>
<dem init="BOM.xml" />
</target>
</project>
我面對ExceptionInInitializer例外
我推測錯誤時,編譯器解析撞線
SAXBuilder saxBuilder = new SAXBuilder();
老實說,迄今爲止我還沒有在java中遇到過這個異常。這裏有什麼問題?
而不是捕獲異常,在這種情況下,爲了調試的目的,改變捕獲Throwable(錯誤的不是例外,並因此會通過其他方式)。這至少會爲您從哪裏開始尋找更好的診斷。 – Crollster 2012-07-10 08:16:53
請發佈整個堆棧跟蹤。我想,它可以通過調整螞蟻日誌記錄級別來獲得。 – Vadzim 2012-07-10 12:04:42