Java 创建ant自定义任务时出现异常InInitializeError
我正在ant中创建一个自定义任务,在创建该任务时,我面临异常InInitializer异常。 我已将jdom-2.0.2.jar放在ant-lib目录中,以便成功编译自定义任务。 下面是我的自定义任务代码Java 创建ant自定义任务时出现异常InInitializeError,java,ant,Java,Ant,我正在ant中创建一个自定义任务,在创建该任务时,我面临异常InInitializer异常。 我已将jdom-2.0.2.jar放在ant-lib目录中,以便成功编译自定义任务。 下面是我的自定义任务代码 import java.io.*; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.jdom2.Document; import org.jdom2.Element
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>
老实说,到目前为止,我还没有在java中遇到过这种异常。这里怎么了 我遇到了同样的问题,并根据 只需使用:
SAXBuilder saxBuilder = new SAXBuilder(new XMLReaderSAX2Factory(false, "org.apache.xerces.parsers.SAXParser"));
而不是无参数构造函数 在本例中,为了调试目的,不捕获异常,而是将其更改为捕获Throwable(错误不是异常,否则将失败)。这至少会给你更好的诊断从哪里开始寻找。请张贴整个stacktrace。我想,这可以通过调整ant日志记录级别来实现。
SAXBuilder saxBuilder = new SAXBuilder(new XMLReaderSAX2Factory(false, "org.apache.xerces.parsers.SAXParser"));