[[TranslatedPages]] [[PageOutline(2-3,Table of Contents)]] = Download = This page provides basic JOSM installation steps and troubleshooting information. To start working with JOSM please see the [wikitr:/Introduction] and the [wikitr:/Help] pages. And for very complex issues see [wikitr:/InstallNotes Installation Notes]. == Recommended options == [[JOSMImage(openlocation, valign=middle, link=[download/josm.jnlp])]] **Start [/download/josm.jnlp josm.jnlp]** (newest tested version) [[br]] Recommended version, all platforms, automatic update to the newest ''tested version'' monthly ([#Webstart how to start]). [[br]] [[br]] [[JOSMImage(download, valign=middle, link=[/josm-tested.jar])]] **Download [/josm-tested.jar josm-tested.jar]** (tested version [[Version(tested)]]) [[br]] All platforms ([#Java how to run]). [[br]] [[br]] == All download options ==#Moredownloadoptions Every [/roadmap month] the team of JOSM [wikitr:/Releases 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 [wikitr:/InstallNotes#Webstart Web Start] is the mechanism behind this. [=#DevelopmentVersion] Every [/log/josm/?verbose=on&limit=20 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 =||= Ubuntu, Debian… =||= openSUSE =|| ||tested [[Version(tested)]] || \ || [/download/josm.jnlp josm.jnlp] || \ || [/josm-tested.jar] || \ || [[br]] [/download/windows/josm-setup.exe setup.exe] [[br]]''([#Mswindowswrapper see below])'' || \ || [[br]] [/download/macosx/josm-macosx.zip package.zip] [[br]]''([#Macoserrors see below])'' || \ || ''[#Ubuntu see below]'' || \ || ''[#Opensuse see below]'' || ||latest [[Version(latest)]] || \ || [/download/josm-latest.jnlp latest.jnlp] || \ || [/josm-latest.jar] || \ || || || ''[#Ubuntu see below]'' || || ||=older =|| || [/download/ download/] || || || [/apt/dists/ dists/] || || When running scripts please first check on [/latest latest], [/tested tested] or [/version both] to reduce download bandwidth. ** Strip translations **[=#Striptranslations] \\ If download size is an issue, smaller files of the tested version are available. For downloads containing only English append [/josm-tested.jar?lang=en ?lang=en] to the URL. To include one translation replace `en` with the [wikitr:/TracLanguages 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 [/josm-tested.jar?lang=en&unsigned=1 ?unsigned=1]. == Linux Repositories == === JOSM's Debian based mainly for Ubuntu ===#Ubuntu This is our own 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 [/apt/pool/universe/j/ archives]. ==== Installation ==== Edit the package resource list {{{/etc/apt/sources.list}}}: {{{#!sh sudo editor /etc/apt/sources.list }}} {{{#!comment ### below does not work on GNU Debian systems `sudo $EDITOR /etc/apt/sources.list` }}} and add one of the following lines according to your Ubuntu-Version: {{{#!sh deb https://josm.openstreetmap.de/apt artful universe deb https://josm.openstreetmap.de/apt bionic universe deb https://josm.openstreetmap.de/apt disco universe deb https://josm.openstreetmap.de/apt eoan 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 }}} {{{#!comment ### below did not work on all systems and add the following line: `deb https://josm.openstreetmap.de/apt VERSION universe` }}} Download and register the [[/josm-apt.key|public key]]: {{{#!sh 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`) {{{#!sh sudo apt-get update }}} and install: {{{#!sh # 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 }}} === GNU Debian ===#GNUDebian The tested version of JOSM is available under **''main''** in section **''utils''**. Please, use the [https://backports.debian.org backports repository] to get the up to date version, see [https://backports.debian.org/Instructions Instructions]. === openSUSE ===#Opensuse [=#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. == Troubleshooting == === Java ===#Java [=#Doubleclickonafiledoesnothing 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 [https://www.java.com/download/manual.jsp manual] downloads or [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html intermediate] versions. But first give the Java already distributed with the operating system a try, [https://en.wikipedia.org/wiki/OpenJDK for example]. When choosing a download keep in mind: * 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 [InstallNotes Installation Notes] and [https://www.java.com/en/download/help/troubleshoot_java.xml 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 ====#Javatest [=#Troubleshootingjarfile] Checks if Java is installed and why JOSM does not start (example mainly for MS Windows). 1. Download [/josm-tested.jar josm-tested.jar] to your desktop. 1. Open a Command Prompt aka Terminal 1. Type `cd %homepath%`⏎ and type `cd Desktop`⏎ 1. Type `java -version `⏎ Three lines with the version data should appear. If you see something else then Java is not properly installed. 1. Type `java -jar josm-tested.jar`⏎. Now JOSM should run, started from the [wikitr:/Help/CommandLineOptions Command Line]. 1. Quit JOSM. 1. Type `josm-tested.jar`⏎. If JOSM starts again, the Windows Explorer is ready for double clicks on jar files. === Web Start ===#Webstart [=#Troubleshootingjhlplink] 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 [#JavaTest Java] first and then run the tests described below or elsewhere [https://www.java.com/en/download/faq/java_webstart.xml Web Start issues]. ==== Testing Web Start ====#Webstarttest 1. Download [/download/josm.jnlp josm.jnlp] to your desktop. 1. Open a Terminal and move to the Desktop as above 1. Type `javaws josm.jnlp`⏎. This should initially download JOSM, show a security dialog and then launch JOSM. 1. If that fails, then type `javaws -verbose josm.jnlp`⏎. This should first show a dialog with information about the JVM and then launch JOSM. === Virtual Machine ===#Troubleshootingjvm ==== 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 [wikitr:Help/CommandLineOptions command line] to set the [https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BABHDABI 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 ====#VMselectiononWindowsx64 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. Perform 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: {{{ #!sh javaws.exe -J-d64 -J-Xmx2048m josm.jnlp }}} === Windows josm.exe ===#Mswindowswrapper 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 [wikitr:/USB_Stick 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 [http://launch4j.sourceforge.net/docs.html#Runtime_options options] are possible and all usual [wikitr:/Help/CommandLineOptions#Programarguments JOSM Program arguments] too. See example: {{{ #!sh # Write a log while starting JOSM and load OSM data josm.exe --l4j-debug https://www.osm.org/way/476702262 }}} For giving [wikitr:Help/CommandLineOptions#Javaoptions 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 [http://launch4j.sourceforge.net/docs.html#Additional_jvm_options Additional JVM options]. While being a 32-bit program, josm.exe needs a 64-bit Java on a 64-bit Windows. Currently josm.exe is [/browser/josm/trunk/windows/launch4j.xml configured] to search for java in the [https://sourceforge.net/p/launch4j/feature-requests/127/ registry only] and to prefer JRE's. === MacOS Errors ===#Macoserrors [=#MacOSErrors][=#MacOSXMountainLionErrors] {{{ #!comment old section title, keeping as anchor for old links }}} Apple has two mechanisms to ''protect'' you from using JOSM: [https://support.apple.com//HT201940 File Quarantine] and [https://support.apple.com//HT202491 Gatekeeper]. ==== Downloaded from the internet ==== [[Image(josm_1st_run.png,width=320,align=right,float=left)]] 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 ==== [[Image(#8787:damaged_josm_app.png,width=300,align=left,margin-top=-50,margin-right=30)]] 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'. [[Image(SecurityPrivacy.png,align=right,float=left,width=300)]] 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 ====#brew MacOS users may choose [https://brew.sh/ 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 }}} === Known issues === Not closed issues about ...: * [/query?status=!closed&type=defect&keywords=~java Java issues] - some of the bugs lead to blockers in Oracle JVM (covered at [[JavaBugs]]). * [/query?status=assigned&type=defect&status=needinfo&status=new&status=reopened&keywords=~linux&order=priority Linux] * [/query?status=assigned&type=defect&status=needinfo&status=new&status=reopened&keywords=~ubuntu&order=priority Ubuntu] * [/query?status=assigned&type=defect&status=needinfo&status=new&status=reopened&keywords=~macos&order=priority MacOS] * [/query?status=assigned&type=defect&status=needinfo&status=new&status=reopened&keywords=~windows&order=priority Windows]