Oi,
To com dificuldade para acertar uma classe que deveria gerar um jar. Não consigo entender a API. Segue código caso alguém possa me ajudar.
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.jar.JarFile;
public class GeraJar
{
public static void main(String args[])
{
/* Tentei também com os *.java e não funcionou */
String[] aFileNames = {
"Classe1.class",
"Classe2.class",
"Classe3.class",
"Classe4.class",
"Classe5.class",
};
JarFile novoJar = null;
ClassLoader cl = Thread.currentThread().getContextClassLoader();
File file = new File("/C:/Documents and Settings/COMPUTADOR/Desktop/Projeto/teste.jar");
URL url;
try
{
url = file.toURL();
}
catch (MalformedURLException e1)
{
e1.printStackTrace();
}
try
{
novoJar = new JarFile(file);
}
catch (IOException e)
{
System.out.println("Erro depois do novoJar");
e.printStackTrace();
}
String[] astrArgs = null;
String[] args2 = null;
astrArgs = new String[3+aFileNames.length];
args2 = new String[15];
astrArgs[0] = "cfm";
args2[1] = novoJar.getName();
int i = 2;
args2[i++] = "MANIFEST.MF";
for (int j=0; j<aFileNames.length; j++)
{
args2[i+j] = aFileNames[j];
}
sun.tools.jar.Main jartool = new sun.tools.jar.Main(System.out, System.err, "jar");
boolean ok = jartool.run(args2);
if (!ok)
System.out.println("Jar tool invocation failed");
}
}