Opened 6 years ago

Last modified 5 years ago

#18809 closed defect

JOSM.exe uses unexpected java version — at Version 3

Reported by: blackboxlogic@… Owned by: team
Priority: normal Milestone:
Component: Installer Windows Version:
Keywords: Cc: stoecker

Description (last modified by skyper)

Originally encountered while debugging #18769

Summary:
With some system configurations, josm.exe (with launch4j) uses java 8, josm-tested.jar uses java 13

My experience:
I updated JOSM to latest, installed OpenJDK 13 and changed the %JAVA_HOME% environment variable to point to it.

When I opened a console and ran

java -version

I get OpenJdk version "13.0.2" 2020-01-14

When I ran

C:\Program Files (x86)\JOSM\**josm-tested.jar**

The program is visually improved in many ways (layout, font etc)
In Help -> About -> Info

Java Version is 13

In Help -> About -> Installation Details

%JAVA_HOME% points to OpenJDK 13
<java.home> points to OpenJDK 13

When I ran

C:\Program Files (x86)\JOSM\**josm.exe**

The program is visually poor in many ways
In Help -> About -> Info

Java Version is 8

In Help -> About -> Installation Details

%JAVA_HOME% points to OpenJDK 13
<java.home> points to java 8

Situation which created the problem:

To work around the problem:

  • Download the OpenJDK 13 JRE (NOT JDK)
  • Select the installer option to write registry keys

I suggest two changes to launch4j.xml to avoid this problem:

  • <jdkPreference>preferJre</jdkPreference>
    • should be: <jdkPreference>preferJdk</jdkPreference>
    • Will take a JDK over a JRE
  • <path></path>
    • should be: <path>%JAVA_HOME%</path>
    • Will negate the need to have registry keys, which are not always there for OpenJDK

I am not well versed in java, launch4j, registry keys, or the JAVA_HOME environment variable. I have not tested my suggested changes and I don't know if it might break it for other people. Also, just waiting for the next release of launch4j might fix this.

Change History (3)

comment:1 by GerdP, 6 years ago

Summary: JOSM uses unexpected java versionJOSM.exe uses unexpected java version

comment:2 by Don-vip, 6 years ago

Component: CoreInstaller Windows

comment:3 by skyper, 6 years ago

Description: modified (diff)

layout improvements
{{{#!cmd }}} does not handle white spaces well.

Note: See TracTickets for help on using tickets.