Jump to navigationJump to search
Java backporting tools are programs (usually written in Java) that convert Java classes bytecodes from one version of the Java Platform to an older one (for example Java 5.0 backported to 1.4).
Java backporting tools comparison[edit]
Main information[edit]
Source Version | Target Version | Last Release | License | Website | |
---|---|---|---|---|---|
Retrolambda | Java 8 | Java 7, 6, 5 | 2015-12-19, 2.1.0 | Apache License 2.0 | https://github.com/orfjackal/retrolambda |
Retrotranslator | Java 5 | 2009-08-09, 1.2.9 | BSD-like | http://retrotranslator.sourceforge.net/ | |
Retroweaver | Java 5 | 2008-10-14, 2.0.7 | BSD-like | http://retroweaver.sourceforge.net/ | |
Declawer | Java 5 | Java 1.4 | 2007-11-14 | LGPL or MPL | http://www.glazedlists.com/Home/declawer |
JBossRetro | Java 5 | Java 1.4 | 2008-03-10, 1.1.2 | LGPL | http://www.jboss.org/community/docs/DOC-10738 |
Features[edit]
lambda expressions | default methods | generics | enhanced for loops | annotations | autoboxing and unboxing | static imports | varargs | Enumerations | Reflection on generics and annotations | Covariant return types | |
---|---|---|---|---|---|---|---|---|---|---|---|
Retrolambda | Yes | Yes | |||||||||
Retrotranslator | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Retroweaver | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
Declawer | No | No | Yes | ||||||||
JBossRetro | No | No |
Formatted output | Formatted input | Collections framework enhancements | Concurrency utilities | emulate the Java 5.0 memory model | support for JDK1.6 File methods like canExecute() | API support for JDK1.4 | API support for JDK1.3 | API support for older release | |
---|---|---|---|---|---|---|---|---|---|
Retrolambda | |||||||||
Retrotranslator | Yes | No | Yes | Yes[1] | No | No | extensive | limited | none |
Retroweaver | No | No | No | No | No | ||||
Declawer | |||||||||
JBossRetro |
See also[edit]
- Backporting
References[edit]
- ^ It uses the backport of the Java 5.0 concurrency utilities.
External links[edit]
- How to use Java 5 language features in earlier JDKs