Easy way to backport Java 6 code to Java 5?

我只是一个虾纸丫 提交于 2020-01-01 05:04:09

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!