NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

I have just purchased a new computer with windows 7 and 4GByte RAM.

I have installed java.jar version 6 (as directed by osm-instructions!

I have installed josm-latest.jar to C:osm\

josm-latest.jar starts and runs without any problem: i.e. as expected!

I have created a batch file josm.bat in C:osm to invoke the Xmx option but it does not work and I cannot figure out why.

alt text

Whats wrong? For any advice I will be very grateful

asked 19 Jan '12, 17:19

dcp's gravatar image

accept rate: 0%

What is the output when you type "java -version" ?

Do you have Win7 and Java as 32bit or 64bit version?

(19 Jan '12, 17:24) stephan75

java -version does not pass the version but replies with the same text as above i.e. `java´ is not recognised.......... I don't know how to determine whether I have 32bit or 64bit versions. I am still looking. It seems that my batch file can´t find java. I just don´t know!

(19 Jan '12, 17:56) dcp

I am using this: start java.exe -Xmx1024M -jar josm-%downloadFileVersion%.jar and it works.
Your problem might be that java directory is not in PATH (try writng set PATH). Add it to PATH or use full path for java (C:Program

The whole starting script:

@echo off
rem default settings

set downloadFileVersion=tested
set runTracerServer=true

rem read parameters
IF "%1"=="" GOTO Continue

    echo %1
    GOTO %1

        set downloadFileVersion=latest
        goto :END_SWITCH

        goto runapps

    set runTracerServer=false
        goto :END_SWITCH

        echo:JOSM starter script
        echo:starts JOSM tested or latest version, updates the program if needed. 
        echo:keeps all settings in the directory from where it was started
        echo:run [/latest] [/notracer] [/help] [/noupdate]
        echo:    /latest    runs latest version instead of tested
        echo:    /notracer  does not run tracer server
        echo:    /help  displays this help
        echo:    /noupdate  does not run update, any parameters after this one are ignored
        goto end

    goto /help

        goto /help

        goto /help


echo:Setting up settings + plugin location
set APPDATA=appdata
echo:set to %APPDATA%

echo:Determining actual %downloadFileVersion% version number (server)
curl -verbose -o %downloadFileVersion%.txt
set /p serverVersion=<%downloadFileVersion%.txt

echo:Determining current version
java.exe -Xmx1024M -jar josm-%downloadFileVersion%.jar -? | findstr /C:"Revision" > current.txt
set /p temp=<current.txt
set currentVersion=%temp:~10,4%

echo Server %downloadFileVersion%: %serverVersion%
echo Local %downloadFileVersion%: %currentVersion%

set /a diffVersion=serverVersion-currentVersion
echo Difference: %diffVersion%

if %diffVersion% == 0 (
    echo:JOSM is up to date 
    goto runapps
) else (
    echo:Update or downgrade needed

echo:Downloading latest version
rem Download to temporary file, then copy and remove - to prevent file corruption when download fails
curl -o josm-%downloadFileVersion%-download.jar
rem todo - check download success
move /Y josm-%downloadFileVersion%-download.jar josm-%downloadFileVersion%.jar
del josm-%downloadFileVersion%-download.jar


echo:Starting JOSM 
start java.exe -Xmx1024M -jar josm-%downloadFileVersion%.jar

if %runTracerServer% == true (
    echo:Starting tracer server
    start TracerServer\bin\Osm.Kn.Trace.Server.exe

rem pause

rem Delete temporary files
del %downloadFileVersion%.txt
del current.txt

permanent link

answered 19 Jan '12, 17:32

LM_1's gravatar image

accept rate: 10%

edited 19 Jan '12, 17:40

Wow! This is a above my level of competance!

I can´t even figure out what this batch file will do!

(19 Jan '12, 17:58) dcp

It downloads (updates) the latest or tested version if it there is one available and starts JOSM. Plus it starts tracer server, but that is really useful only in the Czech Republic.

(20 Jan '12, 10:20) LM_1

LM_1 has provided an interesting, if lengthy batch file. Mine, on 64 bit Windows 7, simply reads:

C:\Windows\SysWOW64\java -Xmx1500m -jar C:\Users\Ed\Downloads\JOSM\josm-latest.jar

Which I think is "using the full path" as he suggested:

permanent link

answered 19 Jan '12, 17:44

EdLoach's gravatar image

EdLoach ♦
accept rate: 22%

Are you suggesting that my batch-file should be moved to to:


(19 Jan '12, 18:06) dcp

No. When you run the command java it will look for the file java.exe or java.bat in the current directory and then in the list of directories in the PATH variable. If it can not find the file it will print an error message.

If you run the command C:WindowsSysWOW64java it will look for the file in *C:WindowsSysWOW64*.

LM_1 is sugesting that you run start java whitch uses a different PATH, while EdLoach sugests that you use the full path. It does not matter where the batch file is located.

(Moving the batch file to *C:WindowsSysWOW64* would fix the problem.)

(19 Jan '12, 20:30) Gnonthgol ♦

I changed my josm.bat file to : C:WindowsSysWOW64java -Xmx1024m -jar C:osmjosm-latest

This is what was returned: Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine

I then reduced the -Xmx requirements to 512 and this functioned.

But this begs the question: Why, if I buy a new computer with 6GByte of RAM, can`t I get more than 512MByte allocated. -Xmx1024m functioned on my old computer with 2GByte of RAM. Could it be that my RAM is defect?

(20 Jan '12, 06:44) dcp

There is a YouTube tutorial video of CMD and Java,


i hope it helps you...

permanent link

answered 21 May '12, 12:46

nadi106's gravatar image

accept rate: 0%

That covers sticking Java in the path (which was the original problem) but doesn't cover 32- vs 64-bit stuff though - have a look here for a question on that and here for more detailed information.

A stackoverflow question about the "heap" message (unfortunately without an answer to the "but I have 6Gb" issue) is here.

(21 May '12, 13:23) SomeoneElse ♦

In answer to this question:

'But this begs the question: Why, if I buy a new computer with 6GByte of RAM, can`t I get more than 512MByte allocated. -Xmx1024m functioned on my old computer with 2GByte of RAM. Could it be that my RAM is defect?'

I suspect that you need to use the 64-bit Java.exe not the 32-bit one. On my (Windows 7, 4Gb) PC 32-bit Java fails to start JOSM with 1.4Gb max allocated, but 64-bit Java has not problem with 3Gb.

Your 32-bit version of Java is probably installed in somewhere like:

"c:\Program Files (x86)\Java\jdk1.6.0_32\bin\"
(also available via) "c:\windows\syswow64\"

Your 64-bit version of Java is probably installed in somewhere like:

"C:\Program Files\Java\jre6\bin\"

Try using that to start JOSM instead.

permanent link

answered 21 May '12, 13:41

SomeoneElse's gravatar image

SomeoneElse ♦
accept rate: 16%

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 19 Jan '12, 17:19

question was seen: 12,953 times

last updated: 21 May '12, 13:41

NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum