#### Languages:

1. Recommended options
3. Repositories
4. Troubleshooting

This page provides basic JOSM installation steps and troubleshooting information. To start working with JOSM please see the Introduction and the Help pages. And for very complex issues see Installation Notes.

## Recommended options

Recommended version, all platforms, automatic update to the newest tested version monthly (how to start).

All platforms (how to run).

Every month the team of JOSM releases a tested version for download. The MS Windows and Apple Mac variants are built on this tested version. When you click on josm.jnlp to launch JOSM you will always get the newest tested version. Java's Web Start is the mechanism behind this.

Every night the build systems generate a latest version. These versions might have severe errors. But mostly they work well, too. For the latest version is also a Web Start variant available.

 For all operating systems Version   Web Start   Download Windows Apple Mac tested 14620 josm.jnlp josm-tested.jar setup.exe (see below) package.zip (see below) see below see below latest 14703 latest.jnlp josm-latest.jar see below download/ dists/

Strip translations
If download size is an issue, smaller files of the tested version are available. For downloads containing only English append ?lang=en to the URL. To include one translation replace en with the language code you want (lowercase first character, supported languages only). You can further reduce the file size by stripping the signing information off with appending ?unsigned=1.

## Repositories

### openSUSE

The tested version of JOSM is available in the Application:Geo repository.

First add as root user in yast or with zypper the repository (replace the version in the URL with the one you are using):

zypper ar -f https://download.opensuse.org/repositories/Application:/Geo/openSUSE_Leap_15.0 Application:Geo


Then simply install josm and josm-fonts package.

### Ubuntu

This is a package repository primarily for Ubuntu. It should also work with other Debian based (especially Ubuntu based) distributions, but we do not actively test and maintain any distributions other than Ubuntu.

The repository contains two packages:

• josm – Provides the tested version (stable). Replaces the package from the official Ubuntu repository.
• josm-latest – The latest version (nightly). Can be installed parallel to the josm package. The default preference folder is ~/.josm-latest.

In addition to the regular procedure described below, older DEBs can be manually downloaded from the archives.

#### Installation

Edit the package resource list /etc/apt/sources.list:

sudo editor /etc/apt/sources.list


deb https://josm.openstreetmap.de/apt trusty universe
deb https://josm.openstreetmap.de/apt xenial universe
deb https://josm.openstreetmap.de/apt artful universe
# For other Debian based distributions add:
deb https://josm.openstreetmap.de/apt alldist universe


Alternatively, this can be done with the following one-liner in Ubuntu:

echo deb https://josm.openstreetmap.de/apt \$(lsb_release -sc) universe | ↩
↪sudo tee /etc/apt/sources.list.d/josm.list > /dev/null


wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add -


Now refresh your sources (you may need to install sudo apt-get install apt-transport-https)

sudo apt-get update


and install:

# You can skip this first line if these packages were not installed before.
sudo apt-get remove josm josm-plugins

# For the tested version
sudo apt-get install josm
# for the development version
sudo apt-get install josm-latest


## Troubleshooting

### Java

When you double-click on a jar file and nothing happens in most cases this means Java isn't installed.

JOSM is tested with Oracles variant, so we recommend to get Java from their pages for manual downloads or intermediate versions. But first give the Java already distributed with the operating system a try, for example.

• A Java Plug-in for web browsers is not needed to run JOSM. Therefore results from pages like www.java.com/en/download/installed8.jsp are not relevant.
• A Java variant with 64 bit is recommended for JOSM. The operating systems architecture is important for deciding between 32 bit Java or 64 bit Java. Because JOSM is not affected by the web browsers architecture most recommendations on this page www.java.com/en/download/faq/java_win64bit.xml are not relevant.
• Avoid pages like www.java.com/en/download which intent to place Java Plug-ins in web browsers. And this is not important for JOSM.

For further information visit the Installation Notes and troubleshooting pages. Java in this section means a JRE (Java Runtime Engine) which provides a JVM (Java Virtual Machine) to run JOSM, a Java program that is developed using JDK (Java Development Kit) and sometimes launched with the JNLP (Java Network Launch Protocol aka Web Start and successor of Java Plug-ins).

#### Testing Java

Checks if Java is installed and why JOSM does not start (example mainly for MS Windows).

2. Open a Command Prompt aka Terminal
3. Type cd %homepath%⏎ and type cd Desktop
4. Type java -version ⏎ Three lines with the version data should appear. If you see something else then Java is not properly installed.
5. Type java -jar josm-tested.jar⏎. Now JOSM should run, started from the Command Line.
6. Quit JOSM.
7. Type josm-tested.jar⏎. If JOSM starts again, the Windows Explorer is ready for double clicks on jar files.

### Web Start

Launching JOSM via Web Start has many more error causes than the traditional way with first downloading a jar file and afterwards starting it. So please test Java first and then run the tests described below or elsewhere Web Start issues.

#### Testing Web Start

2. Open a Terminal and move to the Desktop as above
3. Type javaws josm.jnlp⏎. This should initially download JOSM, serve a security dialog and then launch JOSM.

### Virtual Machine

#### Out of memory

Nowadays manually controlling Javas memory is seldom needed because available RAM on computers has grown. Wrongly chosen values can decrease JOSM performance.

For some tasks, JOSM has a large appetite for memory. On the one hand, it may be necessary to configure a memory size that supports more plugins and features. On the other hand can slow machines be stabilized by restricting Javas memory use. If needed, use the command line to set the Java Option -Xmx…m, for example -Xmx512m or -Xmx1536m. Formerly older java programs accepted -Xmx=512m or even -Xmx 512m. Now those malformed arguments throw error messages.

#### VM selection

On current versions of MS Windows by default Java is installed mainly in the C:\Program Files\Java\ directory. Additional parts are placed in C:\Program Files\Oracle\Java\. There is a .\javapath\ directory as target for the PATH environment variable. It is the home for the three virtual files java.exe, javaw.exe and javaws.exe. This files are symbolic links form the current Java installations.

On older versions of 64 bit Windows sometimes the 32 bit mode JRE was additionally installed. Also some browsers brought their own JVM with limited capabilities. In those cases a Web Start from the browser would not use your Java installation but that from the browser.

Check that there's no other javawebstart in \Windows\SysWow64. The Java control panel will not detect it and you can safely delete it. Perfom cleanup and only keep the latest versions of each JRE (One or the 32-bit mode, another one for the 64-bit mode).

For shortcuts created on the desktop for JNLP and running the Javawebstart launcher , make sure to pass VM parameters prefixed with -J and no intermediate space before the VM option. If you have installed both the 32-bit and 64-bit version, you should pass the option "-d64" if you want to select the preferred 64-bit VM. Note that some Oracle documentation pages indicate the option "-D64" with the incorrect capitalization!)

Example of an edited command line for a shortcut on the windows desktop:

javaws.exe -J-d64 -J-Xmx2048m  josm.jnlp


### Windows josm.exe

Using josm-setup.exe for installation on Microsoft Windows does the following:

• Puts the files josm-tested.jar and josm.exe in directory chosen by the user, default is C:\Program Files (86)\JOSM\
• Suggests to register josm.exe as target for the file extensions *.osm and *.gpx.
• Suggests to place JOSM shortcut icons on the Desktop and in the Start Menu (Currently they are placed for an admin only and can be copied from there, #11398).
• Asks if the Plug-Ins Imagery offset database and Turn restrictions should be provided.
• Adds uninstall data at the appropriate places.

When starting, josm.exe searches its directory for the jar file and runs the command \path\to\javaw.exe -Xms128m -Xmx1024m -jar \path\to\josm-tested.jar. Josm.exe acts as a wrapper and is portable.

When josm.exe finds the argument --l4j-debug, it writes the log file launch4j.log into the current directory if that is writeable. Some other options are possible and all usual JOSM Program arguments too. See example:

# Write a log while starting JOSM and load OSM data
josm.exe --l4j-debug https://www.osm.org/way/476702262


For giving Java options to the Java VM josm.exe uses the optional file josm.l4j.ini in its directory. In this file each option needs a separate line and comments are possible, see Additional JVM options.

While being a 32-bit program, josm.exe seems to need a 64-bit Java on 64-bit Windows.

### MacOS Errors

Apple has two mechanisms to protect you from using JOSM: File Quarantine and Gatekeeper.

If you get an error saying "'JOSM.app' is an application downloaded from the internet." you can bypass this by right-clicking on JOSM.app or josm.jnlp and selecting 'open'. You should then see the same message but this time with an option to "Open" regardless. This is only necessary on the first run of JOSM.

#### Damaged

If you get an error saying "'JOSM.app' is damaged and can't be opened. You should move it to the Trash", then you need to temporarily disable Gatekeeper.

Open System Preferences and the 'Security & Privacy' options. Set 'Allow applications downloaded from:' to 'Anywhere'.

If that radio button is missing from the Security & Privacy preferences panel, open the Terminal window. The following command may become the radio button to appear.

sudo spctl --master-disable


#### Using brew

MacOS users may choose homebrew package manager as a universal way to install and update their JOSM instance.

Using brew cask eliminates most of the above-mentioned issues. (see. https://caskroom.github.io/).

Open Terminal and run the next commands to install or upgrade JOSM to the current tested version, respectively:

brew cask install josm

brew cask upgrade josm