Я запускаю openjdk в Windows 7 без прав администратора
Я прошел через диалоговое окно проводника «open-with», чтобы выбрать java в качестве программы для «открытия» файла .jar.Для запуска файла .jar (двойным щелчком) Windows выполняет что-то вроде
java (имя файла) .jar
Однако для java необходим аргумент -jar, т.е.:
java -jar (имя файла) .jar
Для настройки этого пользователя необходимы права администратора для использования ассоциаций и ftype,
или реализациирегистр редактируется, как объяснено в ответе ниже.
Другой обходной путь - использование пакетного файла, например, javastart.bat:
Листинг javastart.jar
start java -jar %1
ПослеПроходя через проводник «открыть с» диалог, это работает.Щелчок по файлу jar откроет командное окно, и это запустит java.
Однако во время работы java командное окно также открыто, что ужасно.
Edit
Должен быть вызван javaw.exe, и окна команд закроются:
start javaw.exe -jar %1
следующий скрипт не нужен для закрытия окна команд
Конец редактирования
Чтобы решить эту проблему, я запускаю скрипт vbs.
Новый список javastart.jar
start startjar.vbs %1
И startjar.vbs:
Set args = Wscript.Arguments
cmd = "java -jar " & chr(34) & args(0) & chr(34)
Set WshShell = CreateObject("WScript.Shell")
CreateObject("Wscript.Shell").Run cmd, 0, True
Это работает: теперь я получаю короткую вспышку командного окна, запускающего vbs, а затем vbs-скрипт без окон запускает java и jar-файл.
Однако, когдаЯ напрямую открываю файл jar с помощью startjar.vbs (щелкните файл jar правой кнопкой мыши, затем перейдите в диалог открытия с помощью), имя файла jar не передается в качестве аргумента vbs, но Windows пытается запустить jarфайл (и выдает ошибку: «файл .jar не является допустимым приложением win32»)).
Почему проводник Windows не отправляет имя файла в качестве аргумента сценарию vbs?