1

カスタムantタスクのソースファイルを開きたい。クラスローダーのgetリソースがすぐにソースファイルを見つけてくれるので、これは簡単だと思いました。間違い!

これが私のコードです:

//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は常にnullです。

何か案は?

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 に答える