¿Cuál es la mejor forma de convertir el jar existente (sin fuente) escrito en java 1.5 en java 1.4.x?java 1.5 a 1.4
Respuesta
Puede descompilarlo, luego volver a compilar. Probablemente tenga que arreglar incompatibilidades a mano. Aquí hay un hilo en java decompilers.
Mi intuición es descompilar el frasco, luego volver a compilar como 1.4.
Si no hay 1.5 llamadas API específicas en el código descompilado, debería funcionar bien. Si los hay, deberá volver a diseñar esas secciones para que funcionen en la versión anterior de Java.
Eche un vistazo a Retroweaver. Convertirá las clases o jar para que pueda ejecutarse utilizando un 1.4 JRE. Dependiendo de las características 1.5 utilizadas, no necesitará ningún tiempo adicional de ejecución de retrocargado.
Retroweaver utiliza la mejora del código de bytes. Suena misterioso pero funciona.
Además de la descompilación, es probable que tenga que refactorizar algunas cosas en el código fuente: enumeraciones, genéricos (no creo que los genéricos estén en el código descompilado, pero eso probablemente signifique que faltará algunos yesos), el boxeo/unboxing, etc. etc.
como dijo Rodeoclown,
1) descomprimir el JAR
2) utilizar un descompilador como jad (http://www.kpdus.com/jad.html) utilizando opciones como estos jad -d src - f -ff -s .java -space -t4 ***. clase
3) y de los archivos fuente generados, compilarlos utilizando JDK 1.4 ja vacaciones.
4) si el compilador 1.4 funciona bien, rebundle en frasco nuevo
5) si 1.4 compilador tiene problemas, es necesario utilizar
Retroweaver (http://retroweaver.sourceforge.net/index.html).
Eso podría funcionar en algunos casos PERO si la clase espera cambios en JVM, entonces estás en una situación difícil. Si las clases usan una nueva función de subprocesamiento, puede usar la versión 1.4 de JDK de util.concurrent desde http://g.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html.
¡Buena suerte!
retrotranslator es otra opción similar a Retroweaver
- 1. Wicket 1.5 comparado con 1.4
- 2. drupal 6 y jquery 1.4/1.5
- 3. Cómo convertir PDF versión 1.5 a versión 1.4 en PHP
- 4. Fusión muy lenta con Subversion 1.5 (y 1.4 Servidor)
- 5. Compilando código Java escrito para 1.5 para trabajar con 1.4 JRE?
- 6. Backport Java 5/6 características para Java 1.4?
- 7. Migrando a jquery 1.4
- 8. Migrando a Django 1.4
- 9. ¿Hay algo similar a ServiceLoader en Java 1.5?
- 10. ¿La compilación para Java 1.5 en Java 1.7 aún funciona?
- 11. ¿Cuáles son las diferencias entre java 1.5 y java 1.6
- 12. De Java 1.4 a Java 6: ¿alguna herramienta automatizada para actualizar el código heredado?
- 13. ¿Cambios en la recolección de basura de Java 1.4 a Java 6?
- 14. Actualizar solr 1.4 index a solr 3.3?
- 15. Migrar de Subversion 1.4 a 1.6
- 16. django 1.4 Muchos a muchos agregar bulk
- 17. Cambiar Symfony 1.4 de Doctrine a Propel
- 18. Actualización de GWT de 1.5 a 1.6
- 19. porción Contenido dinámico con Wicket 1.5
- 20. ¿Hay alguna manera, en Eclipse, para eliminar las advertencias en desuso, pre Java 1.5
- 21. Obtenga el identificador único de un subproceso en Java 1.4
- 22. ¿Existe todavía una API Java 1.5 varargs para slf4j?
- 23. m2eclipse establece el cumplimiento de JDK 1.4 a
- 24. SICP Ejercicio 1.5
- 25. ¿Cómo añadir un atributo a un nodo XML en Java 1.4
- 26. Convertir espera y código notifyAll a utilizar Java 1.5 Bloqueo objeto
- 27. Conversión de tipo de lista no genérico a tipo de lista genérica en Java 1.5
- 28. ¿Hay un Java 1.5 equivalente a los métodos Predicado <T> en .Net?
- 29. FormWizard y FileFields (Django 1.4)
- 30. Haystack incompatible con Django 1.4?