when updating from JRE 6, the update mechanism will not only install the latest version of JRE 7 but will also remove the highest version of JRE 6 on the system. This change will happen when the system is updated via the auto-update mechanism or by checking for updates directly from the Java Control Panel.

In the meanwhile, Linux distributions start to ship OpenJDK7 as their default implementation. ​Ubuntu ships Java 7 as default since version 12.10 (Quantal Quetzal).

Therefore, we will have soon a majority of users that will run JOSM with Java 7. Maybe it is already the case ? What are the current usage statistics ?

We have a couple of tickets that could benefit from switching to Java 7. I'm thinking at least to #7406, #7896 and #8098.

Java 7 ships also language improvements and some other features JOSM could use, mainly in parallelism, I/O and rendering:

Debian 7 (wheezy) will still have openjdk-6 as default. Openjdk-7 is also available but it won't be installed automatically for the next two to three years.

People using Debian usually know how to install another package ;) I won't see this as a problem when more than 95% of our users will use Java 7, even if default Debian Java remains stucked to version 6.

Debian 7 (wheezy) will still have openjdk-6 as default. Openjdk-7 is also available but it won't be installed automatically for the next two to three years.

People using Debian usually know how to install another package ;) I won't see this as a problem when more than 95% of our users will use Java 7, even if default Debian Java remains stucked to version 6.

Don't forget that user does not always have admin rights nor might he/she an admin at all.
The figures above almost level up at 50:50 on active days and power user seem to use java7.

The next Limited Update for JDK 7 will be numbered 7u40, and the next 3 CPUs after that will be numbered 7u45, 7u51, and 7u55. The next release will be a Limited Update 7u60, followed by CPUs 7u65, 7u71, and 7u75.

7u40 is expected in August 2013 and might bring a bunch of new features:

The majority of people running Java 6 are using "supported" versions.
I mean:

There's a large base of users running OpenJDK6 because of it still being default version on Debian and current Ubuntu LTS. These versions are based on IcedTea 6, which is still under active development, and if facts currently brings packports of OpenJDK7, see ​the last release for an example. Look also at infamous OpenJDK6 bug #8921 which will force impacted users to switch to OpenJDK7 anyway.

There's also all users of Mac OS X package. They have currently no other choice of running Apple Java 6 (see #8654 to understand why). But Apple Java 6 is still supported, the ​current version is 1.6.0_51 whereas the last public Oracle version is 1.6.0_45.

Finally, there are Windows users. Well, there is an automated update mechanism which should make them switch without even noticing.

The most urgent matter is make a Java 7 compatible Mac OS X package. I have tried but we have no mean to test it. Few people complain about regressions we need to fix before making it official.

see #8465 - Ask Mac/Debian/Ubuntu users to update their Java 6 version to Java 7

The Update button on Debian simply does nothing. I do not get any information that the update did not work. Only the message does reappear on next session.Note: On plain Debian you do not have sudo configure but a separate admin user root. You could try to use gksu instead if it is installed.

Because it requires root privileges and I don't want to code something that makes JOSM requires it. On Ubuntu, apturl should trigger a graphical prompt to enter root credentials and install required software.

It's too complicated, I'll simply drop this stuff for Debian and link to the package on Debian's site. Debian users know how to install it.

check if openjdk-7 is installed:

if not, install it:

needs to be run as root

I won't do that.

start JOSM with java 7.

I would prefer a solution within the start script as there is no need to change the default runtime environment through alternatives.

Because it requires root privileges and I don't want to code something that makes JOSM requires it. On Ubuntu, apturl should trigger a graphical prompt to enter root credentials and install required software.

You can simply use gksu to become root (It is really buggy on Ubuntu but stable in Debian and one of the reasons I won`t use Ubuntu as I did not find any clean solution to run a GUI under different non-root user without completly switching the user).

E.g. gksu 'apt-get -y install openjdk-7-jre' should do the trick.
No need to check if it is installed as apt-get has no problem with already installed packages and does exit without error.

It's too complicated, I'll simply drop this stuff for Debian and link to the package on Debian's site. Debian users know how to install it.

check if openjdk-7 is installed:

if not, install it:

needs to be run as root

I won't do that.

Sorry, check is not needed. Rest is mentioned above.

start JOSM with java 7.

I would prefer a solution within the start script as there is no need to change the default runtime environment through alternatives.

The start script already does it.

Have to recheck but as far as I know, it only has a list of supported JREs but it will not use openjdk-7 if openjdk-6 is default.

This transition went very smoothly, good timing for the warnings and the final switch!

The changes have a bigger impact than I expected, e.g. in #10045 a very nasty bug just vanished after switching to the new File IO.

Add Comment

This ticket has been modified since you started editing. You should review the
other modifications which have been appended above,
and any conflicts shown in the preview below.
You can nevertheless proceed and submit your changes if you wish so.