tags:

views:

665

answers:

7

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.

A: 

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?

DrPizza
+2  A: 

Apple released Java 6 on the latest version of OS X. What features are you using specifically from Java6 that aren't in java5?

ScArcher2
Yeah, we've had Java6 for awhile now with leopard, it's just not the default.
Aaron
And if it's an applet, java 6 is not an option. Maybe when snow leopard is released (safari will be 64-bit)
tuler
+1  A: 

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.

Outlaw Programmer
No language changes were introduced in Java SE 6, so the target and source options have (almost) no effect
Davide
We primarily use Java 6 for the System Tray. All the rest can be fixed with libraries...
Thorbjørn Ravn Andersen
+1  A: 

@Ryan Fox

Just an idea: Go into the JDK6 source, and copy whatever classes you used into your project.

Sorry for downvoting you, but that's a really bad idea. I don't want anybody reading this page to come away thinking they should even try something like that.

Marcus Downing
+3  A: 

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.

david
+1  A: 

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).

jsight
+4  A: 

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!

Davide