O meu programa tem um método para gerar um .jar, mas eu só consigo executar o .jar gerado depois de fechar o meu programa.
Se eu usar duas threads, será q eu consigo fazer o .jar funcionar?
Eu não entendo muito de threads. Será que alguém pode me ajudar?
Como eu faço uma thread para executar o meu program e outra thread para gerar o arquivo jar?
[quote=ViniGodoy]Não precisa criar outra thread. Para carregar um .jar após o aplicativo ser carregado, você terá que se informar sobre ClassLoaders.
[/quote]
Vini, eu não sei como usar ClassLoaders para resolver o meu problema.
Não sei se ficou claro, mas o problema é que o jar criado só é concluído depois q eu fecho o programa. E só então eu consigo executá-lo.
Tu acha que tem como ele concluir o jar antes de fechar o meu programa? Tu tem um exemplo de como fazer isso?
public class CreateJarFile {
public static int BUFFER_SIZE = 10240;
protected void createJarArchive(File archiveFile, File[] tobeJared) {
try {
byte buffer[] = new byte[BUFFER_SIZE];
// Open archive file
FileOutputStream stream = new FileOutputStream(archiveFile);
JarOutputStream out = new JarOutputStream(stream, new Manifest());
for (int i = 0; i < tobeJared.length; i++) {
if (tobeJared[i] == null || !tobeJared[i].exists()
|| tobeJared[i].isDirectory())
continue; // Just in case...
System.out.println("Adding " + tobeJared[i].getName());
// Add archive entry
JarEntry jarAdd = new JarEntry(tobeJared[i].getName());
jarAdd.setTime(tobeJared[i].lastModified());
out.putNextEntry(jarAdd);
// Write file to archive
FileInputStream in = new FileInputStream(tobeJared[i]);
while (true) {
int nRead = in.read(buffer, 0, buffer.length);
if (nRead <= 0)
break;
out.write(buffer, 0, nRead);
}
in.close();
}
out.close();
stream.close();
System.out.println("Adding completed OK");
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("Error: " + ex.getMessage());
}
mcirqueira achei essa classe muito interessante. Gostaria de implementá-la no meu programa, mas não consigo colocar pacotes dentro do jar desta forma, pois dá erro.
Tem como fazer o jar receber pacotes?
[quote=Andr?a]mcirqueira achei essa classe muito interessante. Gostaria de implementá-la no meu programa, mas não consigo colocar pacotes dentro do jar desta forma, pois dá erro.
Tem como fazer o jar receber pacotes?[/quote]