実行時に現在のクラスをロードし、作成している別の.jarに追加する必要があるアプリケーションを構築しています。jarファイルにファイルを追加するメソッドがあります。
private static void add(File source, JarOutputStream target,
Manifest manifest) throws IOException {
BufferedInputStream in = null;
try {
String name = source.getName();
JarEntry entry = new JarEntry(name);
entry.setTime(source.lastModified());
target.putNextEntry(entry);
in = new BufferedInputStream(new FileInputStream(source));
byte[] buffer = new byte[1024];
while (true) {
int count = in.read(buffer);
if (count == -1)
break;
target.write(buffer, 0, count);
}
target.closeEntry();
} finally {
if (in != null)
in.close();
}
}
私の問題はこれです:実行時に現在のクラスをファイルに追加する方法を見つけることができないようです。私はこれを試しました:
File classFile= new File(getClass().getResource("MyClass.class").getPath());
しかし、nullポインタ例外が発生します。どんな助けでも大歓迎です。