[Ant API求助]XSLTProcess的NullPointerException问题

CrazyJavar 2003-08-25 08:30:03
自定义的Task类中的execute()方法如下:

XSLTProcess xp = new XSLTProcess();
xp.setProcessor("Spec Transmission");
XSLTProcess.Param param = xp.createParam();
param.setName(VAR_LANGUAGE);
param.setExpression(language);

xp.setIn(srcF);
xp.setStyle(engine.getAbsolutePath());
xp.setOut(dstF);
log(
"Transforming "
+ srcF.getAbsolutePath()
+ " to "
+ dstF.getAbsolutePath()
+ " by "
+ engine.getAbsolutePath());

xp.execute();


所有文件均不为null,为何运行后程序报错为
[TaskName] NullPointerException


请高手指教

谢谢
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyJavar 2003-08-26
  • 打赏
  • 举报
回复
完整源码如下,请高手帮忙看看
import java.io.*;

import org.apache.tools.ant.*;
import org.apache.tools.ant.taskdefs.*;

public class TestTask extends Task
{
private File srcF;
private File dstF;
private File engine;

/**
* @param file
*/
public void setDstf(File file)
{
dstF = file;
}

/**
* @param file
*/
public void setEngine(File file)
{
engine = file;
}

/**
* @param file
*/
public void setSrcf(File file)
{
srcF = file;
}

public void execute()
{
XSLTProcess xp = new XSLTProcess();
xp.setProcessor("Test Task");
XSLTProcess.Param param = xp.createParam();
param.setName("language");
param.setExpression("_en");

xp.setIn(srcF);
xp.setStyle(engine.getAbsolutePath());
xp.setOut(dstF);

log(
"Transforming "
+ srcF.getAbsolutePath()
+ " to "
+ dstF.getAbsolutePath()
+ " by "
+ engine.getAbsolutePath());

xp.execute();
}
}

build.xml如下:
<?xml version="1.0"?>
<project name="SpecLangSelection" default="xsltprocesstest" basedir=".">
<property name="classes.dir" value="classes"/>
<property name="lib.dir" value="lib"/>
<taskdef name="TestTask" classname="TestTask" classpath="${classes.dir}"/>
</target>

<target name="xsltprocesstest">
<TestTask srcf="xx.xml" dstf="yy.xml" engine="engine.xslt"/>
</target>
</project>
CrazyJavar 2003-08-26
  • 打赏
  • 举报
回复
Up
CrazyJavar 2003-08-26
  • 打赏
  • 举报
回复
研究了一下,发现不仅仅是XSLTPRocess的问题

我新建一个Task

里面就一个execute方法

其中的代码如下:

Mkdir md = new Mkdir();
md.init();
md.setDir(new File("C:\\124"));
md.execute();

在build.xml写好taskdef后,调用

发现还是抛出

[TaskName] java.lang.NullPointerException

真是奇怪啊

问题究竟出在哪里呢?
CrazyJavar 2003-08-25
  • 打赏
  • 举报
回复
困扰啊
CrazyJavar 2003-08-25
  • 打赏
  • 举报
回复
错误信息就是一句

[TaskName] NullPointerException
dunktalent 2003-08-25
  • 打赏
  • 举报
回复
请把错误信息铁出来
goodchen8 2003-08-25
  • 打赏
  • 举报
回复
免费电影高速下载
http://free.dlmovie.net/movie/freemovie.asp?userid=zscsichen

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧