Retrotranslator, a bytecode transformer to Java 1.4, released


News: Retrotranslator, a bytecode transformer to Java 1.4, released

  1. Retrotranslator 1.2.2 has been released. It allows to run Java 5 and Java 6 applications on JRE 1.4 by using either bytecode preprocessing or runtime instrumentation. Supported features include generics, annotations, reflection on generics and annotations, enums, autoboxing, for-each loop, varargs, covariant return types, formatted output, static import, concurrency utilities, and collections framework enhancements. If your application must be compatible with J2SE 1.4 Retrotranslator gives you two opportunities. First, you can develop in Java 5 and enjoy generics, concurrency utilities and other cool features. Second, you can use many great frameworks written in Java 5 like Apache Struts 2, JPA with Hibernate, JAX-WS 2.1 RI or Guice. Of course Retrotranslator does not support 100% of Java 5 API out of the box but it can easily be extended with new classes and methods.

    Threaded Messages (9)

  2. wow[ Go to top ]

    how desperate those guys must have been ... and quite desperate measure to take ... congratulations. Maybe thats the tool who will help Mac-Users like me with outdated JRE's - so when JRE 1.7 is mainstream we will likely be forced to still use the 1.6 beta.
  3. I just have to ask. What is the bigger risk here -- upgrading a customer's JRE to 1.5 or transforming bytecodes? Sun has spent so much energy ensuring backwards compatibility between versions that it seems a whole lot riskier to me to write an application with 1.5 dependencies and transform the bytecodes rather than just to run the existing 1.4 codebase with a 1.5 JVM. Am I missing the real use case for this project, aside from a customer who needs some education in risk management?
  4. you cannot convince a customer who spend 30 000 USD for a appserverlicense to switch his vm to 1.5 where the vendor says it is supported on 1.4 vm
  5. What about 5.0 to 6.0?[ Go to top ]

    The former RetroTranslator versions was able to translate code to 1.4. One of the most interesting feature was the replacing of the concurrent package with backport package. But this might yell performance issues when used on jvm 5.0. Does the new version support 6.0 to 5.0 translation?
  6. Re: What about 5.0 to 6.0?[ Go to top ]

    This version does support the -target 1.5 option but there's no runtime library for this target. So you have to provide your own backported libraries via the -backport option.
  7. i think it is the first project to address this issue? are yours a fork,a complete rewrite ,or a new code base?why to write a new module for the same purpose of another with the same opensource license?
  8. Retrotranslator has a completely different code base. Almost two years ago we were successfully using Retroweaver until we started to use annotations. At that time Retroweaver was written using BCEL that had not been able to parse them. So we wrote a simple tool with ASM just to support annotations. After a time the tool evolved and we decided to make it open source.
  9. Interesting[ Go to top ]

    Potentially very useful tool for us, but I'm slightly worried with limitations, possible runtime problems and incapabilities. It worth a try though.
  10. Maven Plugin[ Go to top ]

    FYI...for those who use Maven, there is a plugin for performing some simple Retrotranslator tasks here: