Opened 11 years ago
Closed 11 years ago
#10099 closed defect (fixed)
JOSM tries to use Java 6 when installed
Reported by: | shoorick | Owned by: | bastiK |
---|---|---|---|
Priority: | normal | Milestone: | 14.06 |
Component: | Ubuntu package | Version: | tested |
Keywords: | Cc: |
Description
JOSM stops when Java 6 installed even Java 7 presented too. Checked under Ubuntu 12.04 LTS with simultaneously installed Java 6 and 7. JOSM which spawned from terminal produce error:
Using /usr/lib/jvm/java-6-openjdk-i386/bin/java to execute josm. Exception in thread "main" java.lang.UnsupportedClassVersionError: JOSM : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:643) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) Could not find the main class: JOSM. Program will exit.
How to resolve
Remove paths to Java 6 from /usr/bin/josm:
-
josm
old new 11 11 12 12 # If OpenJDK is only available headless, do not try it 13 13 if dpkg --get-selections 'openjdk-*-jre' | grep install$ > /dev/null ; then 14 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-openjdk/bin/java /usr/lib/jvm/java-7-openjdk-$ARCH/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/lib/jvm/java-6-openjdk/bin/java /usr/lib/jvm/java-6-openjdk-$ARCH/bin/java /usr/lib/jvm/java-6-sun/bin/java"14 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-openjdk/bin/java /usr/lib/jvm/java-7-openjdk-$ARCH/bin/java /usr/lib/jvm/java-7-oracle/bin/java" 15 15 else 16 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/ lib/jvm/java-6-sun/bin/java /usr/bin/java"16 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/bin/java" 17 17 fi 18 18 19 19 JAVA_OPTS="-Djosm.restart=true -Djava.net.useSystemProxies=true $JAVA_OPTS"
Attachments (0)
Change History (5)
comment:1 by , 11 years ago
Milestone: | → 14.06 |
---|
comment:2 by , 11 years ago
comment:3 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
The following changes have been applied (for next release):
-
tested/usr/bin/josm
11 11 12 12 # If OpenJDK is only available headless, do not try it 13 13 if dpkg --get-selections 'openjdk-*-jre' | grep install$ > /dev/null ; then 14 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-openjdk/bin/java /usr/lib/jvm/java-7-openjdk-$ARCH/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/lib/jvm/java-6-openjdk/bin/java /usr/lib/jvm/java-6-openjdk-$ARCH/bin/java /usr/lib/jvm/java-6-sun/bin/java"14 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-openjdk/bin/java /usr/lib/jvm/java-7-openjdk-$ARCH/bin/java /usr/lib/jvm/java-7-oracle/bin/java" 15 15 else 16 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/ lib/jvm/java-6-sun/bin/java /usr/bin/java"16 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/bin/java" 17 17 fi 18 18 19 19 JAVA_OPTS="-Djosm.restart=true -Djava.net.useSystemProxies=true $JAVA_OPTS" -
latest/usr/bin/josm-latest
11 11 12 12 # If OpenJDK is only available headless, do not try it 13 13 if dpkg --get-selections 'openjdk-*-jre' | grep install$ > /dev/null ; then 14 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-openjdk/bin/java /usr/lib/jvm/java-7-openjdk-$ARCH/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/lib/jvm/java-6-openjdk/bin/java /usr/lib/jvm/java-6-openjdk-$ARCH/bin/java /usr/lib/jvm/java-6-sun/bin/java"14 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-openjdk/bin/java /usr/lib/jvm/java-7-openjdk-$ARCH/bin/java /usr/lib/jvm/java-7-oracle/bin/java" 15 15 else 16 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/ lib/jvm/java-6-sun/bin/java /usr/bin/java"16 JAVA_CMDS="$JAVA_HOME/bin/java /usr/lib/jvm/java-7-oracle/bin/java /usr/bin/java" 17 17 fi 18 18 19 19 JAVA_OPTS="-Djosm.restart=true -Djosm.home=$HOME/.josm-latest -Djava.net.useSystemProxies=true $JAVA_OPTS"
comment:4 by , 11 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
The dependencies of the package also need to be adjusted to make sure that openjdk-7 is installed.
comment:5 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
I have applied the following changes, for next release:
-
latest/DEBIAN/control
2 2 Version: 1.5.svn{{VERSION}} 3 3 Section: utils 4 4 Maintainer: josm developers <josm-dev@openstreetmap.org> 5 Homepage: http ://josm.openstreetmap.de5 Homepage: https://josm.openstreetmap.de 6 6 Priority: extra 7 7 Architecture: all 8 Depends: openjdk- 6-jre | sun-java6-jre | openjdk-7-jre8 Depends: openjdk-7-jre 9 9 Description: Editor for OpenStreetMap (daily development snapshot) 10 10 JOSM is an editor for OpenStreetMap (OSM) written in Java. 11 11 The current version supports stand alone GPX tracks, GPX track data -
latest/usr/bin/josm-latest
2 2 # Simple wrapper script used to start JOSM in Debian 3 3 set -e 4 4 5 # First, the alternative (if known to work) or users preference as defined by $JAVA_HOME. Next, use OpenJDK or Sun's proprietary JDK.5 # First, the alternative (if known to work) or users preference as defined by $JAVA_HOME. Next, use OpenJDK or Oracle's proprietary JDK. 6 6 # Override to a specific one using $JAVACMD 7 7 ALTERNATIVE_JDK="`readlink -n -f /etc/alternatives/java`" 8 8 -
tested/usr/bin/josm
2 2 # Simple wrapper script used to start JOSM in Debian 3 3 set -e 4 4 5 # First, the alternative (if known to work) or users preference as defined by $JAVA_HOME. Next, use OpenJDK or Sun's proprietary JDK.5 # First, the alternative (if known to work) or users preference as defined by $JAVA_HOME. Next, use OpenJDK or Oracle's proprietary JDK. 6 6 # Override to a specific one using $JAVACMD 7 7 ALTERNATIVE_JDK="`readlink -n -f /etc/alternatives/java`" 8 8 -
tested/DEBIAN/control
2 2 Version: 1.5.svn{{VERSION}} 3 3 Section: utils 4 4 Maintainer: josm developers <josm-dev@openstreetmap.org> 5 Homepage: http ://josm.openstreetmap.de5 Homepage: https://josm.openstreetmap.de 6 6 Priority: extra 7 7 Architecture: all 8 Depends: openjdk- 6-jre | sun-java6-jre | openjdk-7-jre8 Depends: openjdk-7-jre 9 9 Conflicts: josm-plugins 10 10 Replaces: josm-plugins 11 11 Description: Editor for OpenStreetMap
See also #8700.