问题
We've been developing a windows based application using Java for a while now, but NOW we want to make a mac port and have to reverse of code from Java 6 and Java 5. Is there any easy way to do this rather than re-coding Java 6 specific code? We'd like to keep our code up to date.
回答1:
There are a couple of libraries out there which can help you. Unfortunately I haven't tried them myself, because I've never run into such a situation.
- Retroweaver
- Retrotransaltor
- backport-jsr166
回答2:
See here:
http://en.wikipedia.org/wiki/Comparison_of_backporting_tools
I tried retrotranslator from 1.6 to 1.4.2 and it works pretty well!
回答3:
Apple released Java 6 on the latest version of OS X. What features are you using specifically from Java6 that aren't in java5?
回答4:
In my experience this is so easy that the whining takes more time than the doing. There are very few things in 1.6 that can't be backported with a minute or so (literally) worth of work. How many compile errors are you seeing when you try it with 1.5, and what for?
Keep in mind that there are readily available, API compatible, low-footprint backports for the few things that are useful in 1.6 (SwingWorker).
回答5:
Do you know how much you would have to rewrite if you just went back to Java 5? If you changes the JDK setting in your IDE and try to recompile it should give you a pretty good idea on how big the changes would actually be. For most developers, Java 6 didn't really offer too much in the way of new features/APIs but I guess it's possible your project depends heavily on something that was added.
回答6:
There is also Java 8 for Mac OS X. New versions of Java would be compatible, like Java 8 is compatible with Java 5 Code, so Java 6 code is compatible too.
回答7:
You might be able to backport the additional libraries from Java 6 to Java 5, but I imagine it would be rather more trouble that it's worth. Intel Macs with 64-bit processors (so not the original Intel Mac Mini) running Leopard have Java 6, so perhaps you could just target them?
来源:https://stackoverflow.com/questions/17993/easy-way-to-backport-java-6-code-to-java-5