• Crear Jar en Runtime?

 #397672  por fMtQr
 11 Dic 2012, 16:36
Buenas, estuve examinando el Frutas RAT y me sorprendio ver que podia crear un servidor (server.jar) que contenia las classes del server y todo lo necesario en tiempo de ejecucion... Como se puede lograr esto?

He estado probando y pensando y lo que se me ocurre es mediante alguna la API java.util.jar.JarFile manejando las entries pero no sabria como añadir luego el archivo de Manifiesto adequadamente ni tampoco como escojer las classes que se necesiten...

Ojala puedas leer esto Adwind y soluciones mi duda... o cualquier persona que me pueda orientar.
Gracias de antemano!
 #398000  por adwind
 14 Dic 2012, 22:31
Para agregar un manifest y agregarlo al Jar lo agrego manualmente asi.
Código: [ Debe registrarse para ver este enlace ]
           File t = new File("archivo.jar");
            Manifest mm = new Manifest();
            Attributes a = mm.getMainAttributes();
            a.putValue("Manifest-Version", "1.0");
            a.putValue("Ant-Version", "Apache Ant 1.8.3");
            a.putValue("Created-By", "1.7.0_04-b20 (Oracle Corporation)");
            a.putValue("Class-Path", " ");
            a.putValue("X-COMMENT", "Main-Class will be added automatically by build");
            a.putValue("Main-Class", "desinstalador.desins");

            JarOutputStream out = new JarOutputStream(new FileOutputStream(t), mm);


//Ahora colocamos entradas al jar ejmplo
            out.putNextEntry(new JarEntry("opciones/Interface.class"));
           byte[] buffer=bytes de las clases a agregar o algun archivo 
            out.write(buffer);
            out.closeEntry();
//para terminar cerramos el jar
out.close();

Por haber ayudado me gustaria me ayduaras con alguna traduccion a portugues de este codigo claro si crees que mi respuesta te ayudo.
Código: [ Debe registrarse para ver este enlace ]
usuariostotal.columna.pais=Pais
usuariostotal.columna.id=ID
usuariostotal.columna.ipex=IP Externo
usuariostotal.columna.ipin=IP Interno
usuariostotal.columna.userpc=PC do usuário
usuariostotal.columna.so=S.O.
usuariostotal.columna.jre=JRE Versão
usuariostotal.columna.version=Versão
nuevoserver.titulo=Criar novo servidor
nuevoserver.pestana1=Conexão
nuevoserver.pestana2=Startup
nuevoserver.pestana2.iniciarwindows=Executar no arranque
premota.titulo=Abri URL
premota.veces=Numero de Veces:
acerca.titulo=Acerca
acerca.autor=Autor:
acerca.pagina=Página:
acerca.version=Versión
actualiza.titulo=Actualización del Server
cpantalla.titulo=Captura de Pantalla
cpantalla.segundos=Segundos:
cpantalla.escala=Escala:
cpantalla.calidad=Calidad:
cpantalla.color=Color
cpantalla.gris=Gris
cpantalla.bytes=Bytes Recibidos:
cpantalla.guardar=Guardar Scr
dyejecuta.titulo=Descargar y Ejecutar
cr.pagina=Página:
cr.puerto=Puerto:
cr.hilos=Hilos:
cr.tiempo=Tiempo (s):
dsingle.descargado=Descargado:
dsingle.total=Total:
fmanager.titulo=Administrador de Archivos
fmanager.discos=Listar Discos
fmanager.carpeta=Carpetas:
fmanager.nombre=Nombre
fmanager.tamanoL=Tamaño (kb)
fmanager.archivo=Archivos (s):
mensajes.titulo=Mensajes Falsos
mensaje.tituloMensaje=Titulo
mensaje.cuerpo=Cuerpo
herramientas.titulo=Herramientas
herramientas.checarip=Checar ip de la URL
herramientas.openport=Checar puerto abierto.
harramientas.pestana1=Actualizador de NO-IP
herramientas.user=Usuario:
herramientas.passsword=Contraseña: 
herramientas.dns=DNS
herramientas.estado=Estado
herramientas.popup.ipEx=IP Externa
herramientas.popup.ipin=IP Interna
herramientas.popup.copy=Copiar
herramientas.popup.ipcus=Personalizado
popup.plugins=Todos los S.O.
cr.title=http D.o.S
popup.server=Servidor
popup.cerrar=Cerrar Conexión
popup.reinicar=Reiniciar Conexión
popup.update=Actualizar Servidor
popup.desinstalar=Desinstalar Servidor
dsingle.subido=Subido:
fmanager.abrir=Abrir
fmanager.borrar=Borrar
fmanager.descargar=Descargar archivo
fmanager.subir=Subir Archivo
remoteplugins.titulo=Instalador de componente remoto
plugincenter.nombre=Nombre
plugincenter.cliente=Componente Cliente
plugincenter.server=Componente Server
fmanager.modificado=Fecha Modificación
plugincenter.titulo=Centro de componentes
download.center=Subidas y descargas
herramientas.noip.update=Atualizar
herramientas.pestana2=Utilitários

 #398012  por fMtQr
 14 Dic 2012, 23:57
Pues si adwind, me ayudo mucho!!
Lo siento pero no puedo hacer semejante trabajo aunque valoro mucho la aportacion de tu source. Si alguna vez puedo ayudarte en algo que no sea de ese estilo no dudes en preguntarmelo pero hacer una traduccion y al portugues no es lo mio...
 #398073  por adwind
 15 Dic 2012, 15:28
Con esto queda más que comprobado que a las personas les gusta recibir pero no dar ni un poquito por eso no me gusta ayudar a nadie de aquí
 #398074  por pasanomas
 15 Dic 2012, 15:31
adwind escribió:Con esto queda más que comprobado que a las personas les gusta recibir pero no dar ni un poquito por eso no me gusta ayudar a nadie de aquí
Jajajajaja Amen!
 #398145  por fMtQr
 16 Dic 2012, 16:33
Hombre adwind no puedes pedirme que traduzca todo eso! Es un trabajo enorme, si pidieras algo mas sencillo y que no llevara tanto trabajo te ayudaria pero traducir al portugues me supera.
 #403160  por valium7
 02 Feb 2013, 18:01
@fMtQr ,¿lo has descompilado? el frutas rat¿?
 #403172  por Himanen
 02 Feb 2013, 21:01
Traducido con google traductor.. 10 minutos mas o menos xD
Aver si algún Brasileño se anima y corrije los los fallos del traductor..