Опишу используемую мной реализацию переносимой версии JOSM для Windows.
Данная реализация имеет возможность автоматического обновления дистрибутива JOSM и полностью автономна, т.е. наличие установленной Java-машины в ОС не требуется, т.к. она уже находится в комплекте.
Реализация состоит из следующих компонентов:
- дистрибутив JOSM
- Java-машина
- утилита Wget
- bat-скрипт
- значек
1. Дистрибутив JOSM
В основном я пользуюсь последней нестабильной версией, но если она очень глючит запускаю стабильную, поэтому у меня сразу два дистрибутива:
Файлы дистрибутивов именуются как есть и располагаются в корне каталога JOSM:
JOSM\
josm-latest.jar
josm-tested.jar
...
2. Java-машина
Для достижения полной автономности работы используется переносимая версия Java-машины, загрузить которую можно следующим образом:
![Java SE Downloads](https://i.imgur.com/ZuwOVfd.png)
- на странице загрузки Java SE Runtime Environment (JRE) нужно принять лицензионное соглашение и загрузить архив *.tar.gz для Windows x86
![Java SE Runtime Environment Downloads](https://i.imgur.com/k8Wdghn.png)
Архив распаковывается в подкаталог JAVA и располагается в корне каталога JOSM:
JOSM\
JAVA\
bin\
lib\
...
...
3. Утилита Wget
Для автоматического обновления дистрибутива JOSM используется консольная утилита Wget, бинарный файл для Windows которой можно загрузить с сайта тов. Jernej Simončič (за что ему большое спасибо :-) ) по прямой ссылке.
Файл утилиты именуется как есть и располагается в корне каталога JOSM:
JOSM\
wget.exe
...
4. Bat-скрипт
Bat-скрипт служит для организации автоматического обновления дистрибутива и запуска JOSM в портативном режиме:
@echo off
set josm_dir=%~dp0
"%josm_dir%wget.exe" --quiet --show-progress --timestamping --backups=1 --no-check-certificate --directory-prefix="%josm_dir:\=/%" https://josm.openstreetmap.de/josm-<версия>.jar
start /b /d "%josm_dir%JAVA\bin" javaw.exe -Xmx1024M -Djosm.home="%josm_dir%config" -jar "%josm_dir%josm-<версия>.jar"
exit
Порядок работы скрипта:
-
с помощью утилиты Wget перед запуском JOSM производится загрузка с официального сайта с отображением прогресса (опция –show-progress) и обновление с созданием резервной копии предыдущей версии (_josm-<версия>.jar.1_, опция _--backups_) его дистрибутива, но только в том случае, если файл был изменен на сервере (опция _--timestamping_)
-
с помощью переносимой версии Java-машины запускается JOSM в портативном режиме (опция -Djosm.home) и с увеличенным лимитом на использование ОЗУ (опция -Xmx1024M)
После первого запуска JOSM создаст в своем корневом каталоге подкаталог config и будет использовать его для хранения своих настроек (preferences.xml), плагинов (plugins), кэша тайлов (cache) и других файлов.
Как упоминалось выше я использую обе версии JOSM, поэтому создал 2 файла bat-скрипта для запуска каждой из версий:
-
для запуска последней нестабильной версии (START_LATEST.bat):
@echo off
set josm_dir=%~dp0
"%josm_dir%wget.exe" --quiet --show-progress --timestamping --backups=1 --no-check-certificate --directory-prefix="%josm_dir:\=/%" https://josm.openstreetmap.de/josm-latest.jar
start /b /d "%josm_dir%JAVA\bin" javaw.exe -Xmx1024M -Djosm.home="%josm_dir%config" -jar "%josm_dir%josm-latest.jar"
exit
-
для запуска стабильной версии (START_TESTED.bat):
@echo off
set josm_dir=%~dp0
"%josm_dir%wget.exe" --quiet --show-progress --timestamping --backups=1 --no-check-certificate --directory-prefix="%josm_dir:\=/%" https://josm.openstreetmap.de/josm-tested.jar
start /b /d "%josm_dir%JAVA\bin" javaw.exe -Xmx1024M -Djosm.home="%josm_dir%config" -jar "%josm_dir%josm-tested.jar"
exit
Файлы bat-скриптов именуются произвольно и располагаются в корне каталога JOSM:
JOSM\
START_LATEST.bat
START_TESTED.bat
...
5. Значек
Значек (ico-файл) используется как декоративный элемент для красивого оформления ярлыка на файл bat-скрипта.
Файл значка (*.ico) именуется произвольно и располагается в корне каталога JOSM:
JOSM\
josm.ico
...
5.1 Лайфхак
Чтобы закрепить ярлык на файл bat-скрипта на панели задач в Windows 7 и выше нужно:
- создать ярлык на любой исполняемый файл (*.exe) и поместить его на панель задач
- в свойствах ярлыка на панели задач изменить путь объекта на файл bat-скрипта и сменить значек
![JOSM shortcut](https://i.imgur.com/7ru84tB.png)
Описанная реализация переносимой версии JOSM для Windows со всеми необходимыми файлами находится в данном архиве (версии Java-машины и Wget актуальны на момент публикации, поэтому при необходимости обновите их):
JOSM\
JAVA\
josm.ico
josm-latest.jar
josm-tested.jar
START_LATEST.bat
START_TESTED.bat
wget.exe
Спасибо за внимание и приятного маппинга :-)