2014-02-09 3 views
-3

Я хотел бы запустить веб-браузер по умолчанию из Java с определенной веб-страницей. Я проверил несколько примеров, но они не работают. Я использую JavaFX, который может вызвать эту проблему. Есть ли универсальный способ запуска веб-браузера в Java?Как запустить веб-браузер с Java

+0

@hsz Этот код требует URI, так что не будет веб-страница открыта по умолчанию. – Pshemo

ответ

1

Windows-only, но я попробовал это (с соответствующей попыткой/уловкой) и, похоже, работает для меня. Мой браузер по умолчанию - хром, и он просто открыл хром и пошел на эту страницу.

Runtime.getRuntime().exec("start www.google.com") 

Вы ищете кросс-платформенное решение?

1

Я нашел аккуратный способ сделать это для кроссплатформенности. Через наше Java-приложение мы можем идентифицировать ОС и создать исполняемый файл .bat в Windows и .bin в Linux и предоставить ему соответствующие права на выполнение с использованием java.io.File.setExecutable(true,true) ,

Для идентификации ОС, можно использовать следующую команду: -

String operatingSystem = java.lang.System.getProperties().getProperty("os.name"); 

После создания файла, мы добавляем содержимое в файл для запуска браузера, скажем, начать www.google.com для Windows, или какая-либо другая команда для Linux или Mac.After мы создали файл, мы можем назвать код: -

Runtime rm = Runtime.getRuntime(); 

rm.exec("launch_browser.bat"); 

или

rm.exec("launch_browser.bin"); 

launch_browser.bat или launch_browser.bin будет вызывать код для запуска HTTP Web запроса и запустить браузер по умолчанию ОС

+1

Если использовать довольно спартанскую Java-реализацию, состоящую чуть больше, чем 'Runtime.exec', предоставление командного файла Windows и сценария оболочки Unix/Linux/Mac OS X, как рекомендует этот ответ, - это путь. Мало того, что обычно более успешно запускается даже системный веб-браузер по умолчанию, чем может быть указан в одной строке, переданной в Runtime.exec, при условии, что оболочка файла сценария позволяет локальную настройку сценария запуска, который может потребоваться в некоторых случаях , – Ned

0

Посмотрите в проект BrowserLauncher2. Он получен и несколько обновлен из класса BrowserLauncher, первоначально написанного и выпущенного Эриком Альбертом. Я использовал исходный класс BrowserLauncher успешно в многоплатформенном Java-приложении, которое запускалось локально с интерфейсом веб-браузера в начале 2000-х годов.

Обратите внимание, что BrowserLauncher2 лицензируется под кодом GNU Lesser General Public License. Если лицензия является неприемлемым, обратите внимание на копии оригинального BrowserLauncher, который имеет очень либеральную лицензию:

Этот код является Copyright 1999-2001 Эриком Альбертом ([email protected]) и может быть перераспределена или изменяться в любой форме без ограничений, если часть этого комментария из этого абзаца до конца комментария не удаляется. Автор просит, чтобы он был уведомлен о любом приложении, апплете или другом двоичном коде, который использует этот код, но это больше из любопытства, чем что-либо, и не требуется. Это программное обеспечение не содержит никаких гарантий. Автор не несет ответственности за потерю данных или функциональных возможностей, а также за любые неблагоприятные или неожиданные последствия использования этого программного обеспечения.

Кредиты: Стивен Спенсер, журнал JavaWorld (Java Tip 66) Спасибо также Рон Б. Yeh, Эрик Шапиро, Бен Engber, Пол Teitlebaum, Андреа Кантаторе, Ларри Barowski, Тревор Bedzek, Фрэнк Miedrich, и Рон Rabakukk

кроме BrowserLauncher2 Проекты могут быть также обновлены первоначальный BrowserLauncher для учета изменений в настройках безопасности браузера и системы по умолчанию с 2001

Смежные вопросы