Java Runtime Environment/How to run java applications
Many Java applications come packaged as a file with the ".jar" extension
Double-click a jar
Many jar files are "runnable". This means you can simply double-click the file on many operating systems. The file contains details of which Java class files to run by default, and the application just starts up. Easy!
This assumes a few things though. Firstly, you'll need Java installed as detailed above, and with the necessary operating system hooks enabled, and these may not be available for some operating systems.
This is also a security issue. Think twice before you set up your system to start jar files automatically by just clicking—this would work with all downloaded jar files then (also with accidental, malicious downloads)! Better use the command line or a manually built link/script.
Run it on a command terminal
This way is a more basic fundamental approach which you can use on any operating system. Some Java applications (for example, mkgmap.jar) cannot run without terminals.
It's not so hard even if you don't have any experience of command lines. For example, for to run JOSM, type commands like this:
cd #path to the directory that JOSM is installed in
java -jar josm.jar
You can add options on the command line. There are two kinds of options. One kind for initialising the Java Virtual Machine, the other for application options.
java [Options for JavaVM] -jar application.jar [Options for the application]
Command line arguments
The following are commonly used options for the Java VM. See Java documentation for more information.
- Memory options
-Xmx
is the only memory option which really matters. This is the maximum memory capacity of the Java application. The default value is 64 MB which is often too small. Increase it to, for example, 512 MB with the option-Xmx512m
.[1]- Proxy options
-Dhttp.proxyHost=
specifies a proxy server if you want to use http though a proxy server. For example:-Dhttp.proxyHost=192.168.1.1
-Dhttp.proxyPort=
specifies a proxy port. The default value is 80. For example:-Dhttp.proxyHost=8080
-Dhttp.proxyUser=
specifies proxy username. Set it if the proxy server requires authentication.-Dhttp.proxyPassword=
specifies proxy password. Set it if the proxy server requires authentication.-Djava.net.preferIPv6Addresses=true
Specify it if you need IPv6.- Graphic acceleration options
-Dsun.java2d.opengl=true
Enabling OpenGL. Specify it if you know your PC has OpenGL 2D graphic accelerators.- If you have problem with this setting (false icon and background, dialog. tested on WinXP + nVidia FX1500 + dual monitor) use:
-Dsun.java2d.opengl=true -Dsun.java2d.opengl.fbobject=false
although note that the opengl option can cause problems with window managers on Linux.
- If you have problem with this setting (false icon and background, dialog. tested on WinXP + nVidia FX1500 + dual monitor) use:
-Dsun.java2d.d3d=true -Dsun.java2d.ddscale=true
Enabling DirectX graphic acceleration for Windows.- Font rendering options
-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
Enables anti-aliasing. Enabled by default.
Where is the command terminal?
How to access command terminals on different operating systems.
- Windows
- Windows Terminal
- Open the start menu and search for "terminal".
- Command Prompt
- Open the start menu and search for "cmd".
- Alternatively use ⊞ Win+R and enter "cmd" in the Run window.
- macOS
- Terminal
- Open Spotlight ⌘ Cmd+Space and search for "terminal"
- Go to ~/Applications/Utilities in Finder. You will find "Terminal".
Windows
Usually, the JRE installer registers the .jar file type to be run by javaw.exe (which is another java running command. It is special for Windows to run Java GUI applications without terminals.) command. So, you can run .jar just by double-clicking it. However, this way cannot add options. To add options, you can choice from two ways.
- Making a .bat file.
- Open a text editor (for example, notepad) and create a new file by it.
- Write commands on it. It is recommended to use "cd" command before "java" command to specify the default running directory.
- Save it as .bat file (for example, josm.bat).
- When you double-click the .bat file, a command terminal opens and do the commands on the .bat file.
- Making a shortcut. (.lnk file)
- Right-click on a .jar file. Click "Create shortcut" on the context menu. You can also use "Send to > Desktop (create shortcut)".
- Right-click the created shortcut and select properties.
- The full path of .jar file is shown on Target box. Add "
javaw [Options for JavaVM] -jar
" before the .jar path. Add "[Options for the application]
" after the path. - If you need to specify the current directory when it runs, you can write it in "start in" box.
- When you double-click the shortcut, it runs the application with the options.
- It's recommended to name the shortcut as JOSM and move the shortcut to the start menu C:\Users\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
macOS
You need Mac OS 10.4 or better. 10.3 will not do the job. In 10.4.x and 10.5.x, simply double click on the jar file and Java 1.5 should load the .jar file. If you need to allocate more memory to edit larger files, then you can do the following:
- Go to Applications and then Utilities in Finder.
- Open Terminal
- Change to the directory where josm-latest.jar is. If it's on your desktop, try 'cd Desktop'
- Copy and paste the following line into the terminal to start JOSM with more memory:
java -Xmx512M -jar josm-latest.jar
Include -Dapple.laf.useScreenMenuBar=true
to place the menu on the OS X menu bar, and -Xdock:name="JOSM" -Xdock:icon="logo.png"
to give it an icon and name.
If you're not familiar with scripts just use the Jar Bundler application, coming with macOS. It'll create a start application, let's call it "JOSM". You'll find it here /Developer/Applications/Java Tools/ or here /Developer/Applications/Utilities/. Just double click to launch it. In the first menu build information enter the location of the just downloaded JOSM jar file by clicking the choose... button. In the third menu properties choose the edit box vm options to enter the appropriate memory settings. If you're able to afford it try spending up to a GB RAM to JOSM. Here's what to enter into the edit box: -Xmx512M -XX:MaxPermSize=512M (which starts the JOSM application with 512MB and grants up to 1GB of RAM). Then press create application... to create the start application and call it JOSM. JOSM does not have to be in the same directory as the jar file. Just save or move JOSM! to your applications folder. Double click JOSM to start the application.
Via shell scripts
Last updated in 2009. The following code may not work as expected. |
Input a command line as the above is the basic. Usually, the command line become long. It is better to make a shell script to run for each jars. There are some users make some useful shell scripts.
You can use a shell-script developed by User:Cobra to keep JOSM always up to date, start it, and pass files to it.
Or you can use the following simple script to use always the latest JOSM Version:
#!/bin/sh
GPSDIR=/home/sven/Desktop/gps
PROXY=www-proxy
export JAVA_HOME=/usr/local/java/jdk1.6.0_04/
DCOPREF=`kdialog --title "Hole JOSM" --progressbar "Hole JosmLatest" 100`
cd $GPSDIR
wget -N http://josm.openstreetmap.de/download/josm-latest.jar
dcop "$DCOPREF" close
$JAVA_HOME/bin/java -Xmx1024M -DproxyHost=$PROXY -DproxyPort=8080 -jar josm-latest.jar
References
- ↑ Alvin Alexander. “How to control Java heap size (memory) allocation (xmx, xms)”. Retrieved 14 December 2009.