O que seria este código?

2 respostas
Z

Andei procurando na net,
como fazer para executar 1 ou mais jars, com apenas 1 jar.

Acabei encontrando este código: pra que serve? e como funciona?

public class Teste
{
	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		try
		{	
			Class.forName(args[0]).getMethod("main",new Class[]{String[].class}).invoke(new Object(),new Object[]{args});
		}
		catch (IllegalArgumentException e)
		{
			JOptionPane.showMessageDialog(null,"Illegal Arguments");
		}
		catch (IllegalAccessException e)
		{
			JOptionPane.showMessageDialog(null,"Illegal Access");
		}
		catch (InvocationTargetException e)
		{
			JOptionPane.showMessageDialog(null,"Invocation Target");
		}	
		catch (SecurityException e)
		{
			JOptionPane.showMessageDialog(null,"SecurityException");
		}
		catch (NoSuchMethodException e)
		{
			JOptionPane.showMessageDialog(null,"NoSuchMethodException");
		}
		
		catch (ClassNotFoundException e)
		{
			JOptionPane.showMessageDialog(null,"ClassNotFoundException");
		}
	}
}

Obrigado

2 Respostas

T

Serve para pouca coisa - você em vez de chamar a sua classe com “java -classpath . pacote.Classe argumento1 argumento2”, você chama a sua classe com “java -classpath . Teste pacote.Classe argumento1 argumento2…” e recebe em args[0] o nome de sua classe, o que é um pouco discutível em termos de utilidade.

lina

Bom,
isso seria para de 1 jar, chamar varias classes (main) do seus pacotes.

Passando essa linha:

java -jar SeuJar.jar pacote.class

aa, e esse código encontrado na net, seria meu né?!

Tchauzin!

Criado 16 de julho de 2007
Ultima resposta 16 de jul. de 2007
Respostas 2
Participantes 3