Ich bin praktisch ein DAU und habe folgendes Problem (Windows 7 mit 64 k):
Bis etwa herbst 2011 startete ich JOSM über eine batch-datei *.bat mit folgendem Inhalt zur Reservierung von mehr Speichgerplatz im RAM (bei mir eben 3072)
Irgendwann funktionierte das nicht mehr, ich kann nicht nachvollziehen, ab wann und warum.
Seitdem starte ich JOSM direkt mit einem link von meinem Desktop, das tut dann auch, aber eben nur mit deutlich weniger reserviertem Speicher.
Kann einer der Wissenden von Euch mal einen Tip geben, wie das wieder zu machen wäre, insbesondere so, dass die regelmäßigen updates von JOSM automatisch herabgeladen und installiert werden.
bei der obigen batch-Datei stimmt der Pfad zu java.exe nicht mehr, wo ist java jetzt und/oder was muß ich da rein schreiben, und mit oder ohne Anführungszeichen.
der Pfad zu josm-tested ist ok.
Hi,
kannst mal ein Search auf “java.exe” machen.
Normal wird das nach C:\program files\java oder C:\program files(x86)\java installiert, zusätzlich oft nach system32 kopiert,
da das standardmäßig im Windows Suchpfad ist.
Und wie schon geschrieben wurde , bau mal ne “pause” in die Batch-Datei.
Bei meinem vergleichbaren System habe ich die Datei C:\OSM\JOSM\josm-latest.bat mit folgendem Inhalt erstellt
java -Xmx4600M -jar C:\OSM\JOSM\josm-latest.jar
Und starte dies mit einer Verknüpfung
Der Trick ist "C:\Windows\explorer.exe " vor dem Aufruf der Batch-Datei zu stellen. Dann kann dies auch als Link z.B. in der Taskleiste eingefügt werden.
Ach so, automatische Updates? Weiss ich auch nicht, wie es geht. Wenn in JOSM der entsprechende Hinweis kommt, klicke ich auf meine “wget_latest.bat”, die folgenden Inhalt hat
del josm-latest.jar
wget http://josm.openstreetmap.de/download/josm-latest.jar
Wenn, dann
alias josm-build=‘cd /home/user/apps; svn co http://josm.openstreetmap.de/svn/trunk josm; cd josm; ant clean dist; cp dist/josm-custom.jar …/…/bin/; cd ~’
Das Skript holt sich die aktuellsten Ereignisse der Entwicklung vom SVN trunk, “kompilliert” diese und schiebt dann die daraus entstandene binary nach /home/user/bin, wenn ich das so richtig sehe. Also, das daraus resultierende Ergebnis ist zwar noch aktueller als die josm-latest.jar, läuft aber so ohne Zufügung von anderen Befehlen auch nur “halbautomatisch”. Was ist bei dir eigentlich automatisch? Wenn du meinst das, dass Ganze beim starten aktualisieren soll, dann mach doch hinter die Zeile:
(Windows-Schreibweise, bei linux dann statt .\ ein ./)
Das Skript ist dann allerdings “dumm”, und holt immer wenn man es aufruft, also in dem Fall dann JOSM startet, die aktuelle josm-latest.jar, wenn man JOSM also alle paar Minuten startet, tut man das lieber direkt über die binary(josm-latest.jar).
da latest immer einmal am Tag kompiliert wird, könnte man beim Start gucken, ob die josm-latest heute heruntergeladen wurde, wenn nicht, soll wget diese neu laden. Ich hab nur keine Ahnung, ob man per batch ans Dateidatum herankommt.
Mein Tipp: Java Webstart verwenden, da ist die automatische Aktualisierung mit drin, irgendwelche Shellskripte komplett überflüssig. Allerdings muss noch der maximale Speicher hochgesetzt werden, sonst läuft das Ding nur mit 64MB. Dazu gibt es auch ein Ticket.
Achtung: Beide Werte sind für “gewöhnliche” 32bit Systeme zu groß, dort am besten 256m als initial-heap-size und 768m als max-heap-size ausprobieren!
Dann auf josm.jnlp doppelklicken. Fertig.
Übrigens: das Icon mit OSM-Logo, das beim ersten Aufruf auf dem Desktop angelegt wird, hat den größeren Speicher nicht mit drin (warum auch immer). Daher immer auf josm.jnlp doppelklicken.
In JOSM unter Hilfe → Statusbericht müsste dann in etwa stehen:
Identification: JOSM/1.5 (5181 de)
Memory Usage: 76 MB / 2709 MB (41 MB allocated, but free)
Java version: 1.6.0_xx, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM
Operating system: Windows 7
Gute Idee - die Option kannte ich noch gar nicht, und die entsprechende man-Page ist mit dem Eintrag “Turn on time-stamping.” ein wenig knapp formuliert Werde ich mal ausprobieren
So sieht meine josm.bat aus. Gestartet wird sie mit “C:\Users\User\Documents\josm.bat tested” für die stabile Version. Da die vielen bing-Bilder meinen Virenscanner und das Backup regelmäßig ausgebremst haben, habe ich noch eine Löschroutine ans Ende gebastelt.
@echo off
set path=%path%;C:\Program Files\GnuWin32\bin;d:\Program Files\josm
set java_param=-jar -Xmx1024m
set tiles=%localappdata%\Temp\JMapViewerTiles_User
d:
cd "\Program Files\JOSM"
:run_josm
rem Testen ob neue Version von JOSM existiert, wenn "ja", dann download
wget.exe -N http://josm.openstreetmap.de/josm-%1.jar
rem starte JOSM mit Parametern
java.exe %java_param% josm-%1.jar
rem Bing-Tile-Cache loeschen falls mehr als 30000 files im Verzeichnis
dir /a-d "%tiles%\Bing Aerial Maps" | find /c ":" > NUMfiles.###
set /p count=<NUMfiles.###
del /q NUMfiles.###
rem echo %count%
if %count% lss 30000 goto end
:delete_tiles
del /f /q "%tiles%\Bing Aerial Maps"
rem del /f /q "%tiles%\Mapnik"
goto end
:end
rem pause