Guest GamesTdai :D Postado Agosto 15, 2015 Denunciar Compartilhar Postado Agosto 15, 2015 Bom queria saber se com URLClassLoader tem como executar um arquivo .Class, eu ja fiz o teste e com .jar na web ele baixa e executa a classe de boas dentro da jar, mas nao tem como ser um arquivo .Class para ele executar ? Link para o comentário Compartilhar em outros sites More sharing options...
Karamujo Postado Agosto 15, 2015 Denunciar Compartilhar Postado Agosto 15, 2015 (editado) Bom queria saber se com URLClassLoader tem como executar um arquivo .Class, eu ja fiz o teste e com .jar na web ele baixa e executa a classe de boas dentro da jar, mas nao tem como ser um arquivo .Class para ele executar ? tenta assim URL classe; classe = new URL("fill//arquivo.class"); URL[] classes = { classe }; URLClassLoader urlClasse = new URLClassLoader(classes); Class c = urlClasse.loadClass("classe"); Editado Agosto 15, 2015 por Karamujo 1 Link para o comentário Compartilhar em outros sites More sharing options...
Guest GamesTdai :D Postado Agosto 15, 2015 Denunciar Compartilhar Postado Agosto 15, 2015 tenta assim URL classe; classe = new URL("fill//arquivo.class"); URL[] classes = { classe }; URLClassLoader urlClasse = new URLClassLoader(classes); Class c = urlClasse.loadClass("classe"); Vlw, Vou Testar Aqui Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 Qual a diferença cara? Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 Qual a diferença cara? Que 1 é da .jar e outra é .class :c Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 Que 1 é da .jar e outra é .class :c Serioooooo? isso eu sei cara, mas nao vai mudar nada de um pro outro Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 (editado) Serioooooo? isso eu sei cara, mas nao vai mudar nada de um pro outro Perguntou a diferença negro, uhuh, não muda bosta nenhuma, só muda o formato mesmo :c. @Off Sabe como faz para pegar Pelo URLClassLoader digamos assim, na class que carregamos tem public boolean test(int i){ if(i < 10){ return true; } return false; } Como faz para Pegar Pelo UrlClassLoader o test(int), já tentei só que sempre da erro e pá, tentei Usando Method(parametros com Integer.class), e depois Invoke, ai fiquei @%$#~&I com o erro e fechei :c Editado Agosto 16, 2015 por kaway Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 Perguntou a diferença negro, uhuh, não muda bosta nenhuma, só muda o formato mesmo :c. @Off Sabe como faz para pegar Pelo URLClassLoader digamos assim, na class que carregamos tem public boolean test(int i){ if(i < 10){ return true; } return false; } Como faz para Pegar Pelo UrlClassLoader o test(int), já tentei só que sempre da erro e pá, tentei Usando Method(parametros com Integer.class), e depois Invoke, ai fiquei @%$#~&I com o erro e fechei :c Claro q da, Tu ta fazendo alguma coisa errada... Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 Claro q da, Tu ta fazendo alguma coisa errada... Da um Erro, que não lembro qual é, vou pegar a src no outro pc e te mostro como tentei e o erro que da, pelo menos comigo não funcionou. Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 Da um Erro, que não lembro qual é, vou pegar a src no outro pc e te mostro como tentei e o erro que da, pelo menos comigo não funcionou. blkz Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 blkz Vortei, Fiquei comendo la e pá, desculpa demora. import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; public class Main { public static void main(String[] args){ try { URL url[] = {new URL("URL JAR AQUI")}; URLClassLoader urlclassloeaded = new URLClassLoader(url); Class<?> c = urlclassloeaded.loadClass("CLASS AQUI"); Method m = c.getMethod("test"); Method mm = c.getMethod("test2", Integer.class); //Object obj = c.newInstance(); //m.setAccessible(true); //String r = (String)m.invoke(obj); String rr = (String)m.invoke(null); String rrr = (String)m.invoke; System.out.println("Valor retornado = " + rr);//or r urlclassloeaded.close(); } catch (Exception e) { e.printStackTrace(); } } } Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 Vortei, Fiquei comendo la e pá, desculpa demora. import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; public class Main { public static void main(String[] args){ try { URL url[] = {new URL("URL JAR AQUI")}; URLClassLoader urlclassloeaded = new URLClassLoader(url); Class<?> c = urlclassloeaded.loadClass("CLASS AQUI"); Method m = c.getMethod("test"); Method mm = c.getMethod("test2", Integer.class); //Object obj = c.newInstance(); //m.setAccessible(true); //String r = (String)m.invoke(obj); String rr = (String)m.invoke(null); String rrr = (String)m.invoke; System.out.println("Valor retornado = " + rr);//or r urlclassloeaded.close(); } catch (Exception e) { e.printStackTrace(); } } } Já vi uma porrada de erro... ta invocando método errado, e um método nao estatico precisa de uma instancia. Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 (editado) Já vi uma porrada de erro... ta invocando método errado, e um método nao estatico precisa de uma instancia. '-', Como ficaria? @Edit Mais se eu corrigir e fazer a instancia, o método de invoke vai funcionar? Eu não lembro onde vi, acho que foi em uma apostila que era deste meio, ai fui lembrando, só não lembro como colocar os argumentos no parametros, ele funciona somente se a função tiver retorno, public String get() { return "negros"; } Editado Agosto 16, 2015 por kaway Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 '-', Como ficaria? @Edit Mais se eu corrigir e fazer a instancia, o método de invoke vai funcionar? Eu não lembro onde vi, acho que foi em uma apostila que era deste meio, ai fui lembrando, só não lembro como colocar os argumentos no parametros, ele funciona somente se a função tiver retorno, public String get() { return "negros"; } Object instancia = classe.getConstructor().newInstance(); Method methodGet = classe.getDeclaredMethod("get"); String negro = (String)methodGet.invoke(instancia); +- assim, fiz ak msm Link para o comentário Compartilhar em outros sites More sharing options...
??? Postado Agosto 16, 2015 Denunciar Compartilhar Postado Agosto 16, 2015 Object instancia = classe.getConstructor().newInstance(); Method methodGet = classe.getDeclaredMethod("get"); String negro = (String)methodGet.invoke(instancia); +- assim, fiz ak msm Já fiz, não funcionou também, por isso falei, eu li que este método não precisaria utilizar Object a instancia, porém, tentei utilizar classe.getMethod, tentei o getDeclaredMethod sem instancia mesmo. Link para o comentário Compartilhar em outros sites More sharing options...
Guest GamesTdai :D Postado Agosto 20, 2015 Denunciar Compartilhar Postado Agosto 20, 2015 Qual a diferença cara? a diferença é que um tem as class dentro dele e outro é a propria class Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Agosto 20, 2015 Denunciar Compartilhar Postado Agosto 20, 2015 a diferença é que um tem as class dentro dele e outro é a propria class Eu sei cara, mas não tem diferença de tu executar a classe em um jar ou sozinha. Link para o comentário Compartilhar em outros sites More sharing options...
Guest GamesTdai :D Postado Agosto 20, 2015 Denunciar Compartilhar Postado Agosto 20, 2015 Já fiz, não funcionou também, por isso falei, eu li que este método não precisaria utilizar Object a instancia, porém, tentei utilizar classe.getMethod, tentei o getDeclaredMethod sem instancia mesmo. Class<?> testeClass = localURLClassLoader.loadClass("Classe"); Object li = testeClass.newInstance(); Method m = testeClass.getMethod("test"); String str = (String)m.invoke(li); eu uso assim a funciona de boas. Link para o comentário Compartilhar em outros sites More sharing options...
Guest GamesTdai :D Postado Agosto 20, 2015 Denunciar Compartilhar Postado Agosto 20, 2015 Eu sei cara, mas não tem diferença de tu executar a classe em um jar ou sozinha. Fala isso para o ClassLoader que nao quer carregar a minha via site Link para o comentário Compartilhar em outros sites More sharing options...
Guest Tatsunow12 Postado Agosto 20, 2015 Denunciar Compartilhar Postado Agosto 20, 2015 https://github.com/Tatsunow/PluginLoaderMano, tá ai velho, se não conseguir fazer, não posso fazer nada. tá funcionando corretamente, baixa o src e cria um projeto. Link para o comentário Compartilhar em outros sites More sharing options...
V1η1 Postado Setembro 28, 2015 Denunciar Compartilhar Postado Setembro 28, 2015 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest GamesTdai :D
Bom queria saber se com URLClassLoader tem como executar um arquivo .Class, eu ja fiz o teste e com .jar na web ele baixa e executa a classe de boas dentro da jar, mas nao tem como ser um arquivo .Class para ele executar ?
Link para o comentário
Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados