Мой JAVA_HOME
на моей машине разработки - Windows 7 Pro 64 Bit - указывает на 64-битную Java, и это в целом нормально. Однако я только что установил программу, то есть IDE FlashDeveloper, для которой этот параметр не подходит: вместо этого требуется 32-битная Java, а параметр JAVA_HOME
предотвращает захват 32-битной Java.
Поэтому я хотел бы сбросить JAVA_HOME
непосредственно перед запуском Flash IDE.
Один из способов добиться этого - использовать пакетный скрипт.
Но разве нет лучшего способа? Я искал различные вкладки окна свойств ярлыка Windows для такой опции, но, похоже, их нет. (Однако я обнаружил флажок для запуска программы через ярлык от имени Administrator
.) Какие-либо предложения?
Обновление: решение, которое сработало для меня
:: type "C:\Program Files (x86)\FlashDevelop\FlashDevelop.bat"
@ECHO OFF
SETLOCAL
REM Prevent wrong 64-bit JVM from being picked up:
SET JAVA_HOME=
CALL "%~dpn0.exe"
Это откроет командную строку, которую я затем смогу просто закрыть. Вы можете сделать так, чтобы ярлык имел значок исполняемого файла, который вы вызываете из командной строки, указав оболочке через свойства ярлыка искать значок внутри фактического исполняемого файла.
Я не смог заставить работать решения, включающие START
, который открывает новое окно cmd.exe
на моей машине, когда прошло следующее (не знаю почему):
start "C:\Program Files (x86)\FlashDevelop\FlashDevelop.exe"
Должен сказать, что мой cmd.exe
настроен - это может иметь влияние здесь и там.
Обновление, касающееся проблемы start
: Как можно узнать по ссылке в комментариях, команда start
использует первые аргументы в кавычках в качестве заголовка создаваемых окон ... Поэтому, когда вы передаете путь в кавычках, он будет неверно истолкован как заголовок нового окна. Обходной путь должен предоставить явный заголовок в качестве первого аргумента, который также может быть пустым (start "" "some path\with spaces"
).