1

我想为我的自定义 ant 任务打开一个源文件。我认为这很容易,因为类加载器获取资源肯定会立即为我找到源文件。错误的!

这是我的代码:

//build the name of the template
StringBuilder sb = new StringBuilder(VersionTemplate.class.getName());
sb.append(".java");
String templateName = sb.toString();
//find the template
InputStream inputStream = VersionTemplate.class.getResourceAsStream(templateName);

inputStream 始终为空。

有任何想法吗?

4

2 回答 2

0

尝试:

   templateName = templateName.replaceAll(".","/");
   InputStream inputStream = VersionTemplate.class.getClassLoader().
                              getResourceAsStream(templateName);

请确保“.java”文件与编译“.class”文件存在于同一个包中。

于 2012-10-15T12:57:16.027 回答
0

在 getResource() 查找类路径之后,我突然想到,这不是源代码所在的位置。我最终只是简单地编写了代码的相对路径。

谢谢您的帮助。

于 2012-10-16T11:00:41.773 回答