2015-09-10 3 views
2

У меня есть автономное приложение JavaFX. Для улучшения удобства пользователей я хотел бы, чтобы пользователь нажал кнопку/ссылку в браузере и запустил приложение. Так же, как магнитный URI для торрента, ссылка содержит метаданные, необходимые для запуска приложения.Связанные пользовательские схемы uri с автономным приложением Java для окон

Есть ли способ генерировать исполняемый файл для приложения JavaFX для связывания с пользовательским URI так же, как магнитные URI, связанные с торрент-приложениями.

+1

Вы посмотрели [tag: java-web-start]? – trashgod

+0

Да, Java Web Start - это ответ. Учебник [здесь] (http://docs.oracle.com/javase/tutorial/deployment/webstart/). – VGR

+0

В настоящее время я использую JWS, он требует, чтобы пользователь загружал файл jnlp. И затем дважды щелкните, чтобы запустить приложение. Пользовательская ассоциация URI улучшает работу пользователя. Как и в мобильных устройствах, приложения могут запускаться непосредственно из браузера. – Mo3z

ответ

1

Вот как связать пользовательские URI с приложением.

У меня уже есть задача, которая генерирует собственные пакеты.

Первый шаг заключается в том, чтобы включить подробное задание муравья, чтобы вы могли найти путь сборки. Как упоминалось, here, в 6.3.3 включите подробный и найдите файл <AppName>.iss в каталоге сборки, который является usbablly AppData/Local/Temp/fxbundler*.

Убедитесь, что у вас есть каталог, содержащий каталог пакетов в пути к классам. Вот пример того, как можно добавить, что путь к классам:

<taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpath="${build.src.dir}:${JAVA_HOME}/lib/ant-javafx.jar"/> 

В моем примере я пакет/окна с Drop-In ресурсов в каталоге Src.

Если у вас есть файл ассоциации, вы увидите что-то вроде этого:

[Registry] 
Root: HKCR; Subkey: ".txt"; ValueType: string; ValueName: ""; ValueData: "AppNameFile"; Flags: uninsdeletevalue 

Только после этой линии вы можете добавить строки для добавления записей в реестре пользовательских Ури.

Если у вас нет ассоциации файлов, то вы будете добавлять записи после

ArchitecturesInstallIn64BitMode=ARCHITECTURE_BIT_MODE 

Вы можете найти шаблон, как AppName.iss файл создается в этом месте: C:\Program Files (x86)\Java\jdk1.8.0_60\lib\ant-javafx.jar\com\oracle\tools\packager\windows\template.iss

Here вам найдет как написать строки, подобные приведенным выше

Herewhat ключи реестра и записи, которые необходимо добавить для пользовательской ассоциации URI.