Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел затрагивает следующие темы:
Это - полный, рабочий пример, показывающий, как развернуть единственный файл фляги от Платформы Носителей Java (JMF) как Расширение Java. Использование в качестве примера SimplePlayerApplet.java
и jmf.jar
играть .avi
медиа-файл. Это использует необработанный метод установки для installating повторно упакованная и версия со знаком jmf.jar
вызванный s_my_jmf.jar
. Обычно есть другие файлы фляги, которые устанавливаются с JMF, но для SimplePlayerApplet.java
только функциональность в jmf.jar
требуется.
Для пользы простоты этот пример делает следующие предположения:
C:\"Program Files"\Java\jdk1.6.0
C:\plugin\keystores
keystore
имя thawte.p12
storepass
и keypass
то же самое"New Technology Company's Thawte Consulting cc ID"
В этом случае нет никакого установщика. Все, что Вы должны сделать, получают необходимый файл фляги, jmf.jar
, это должно быть загружено и скопировано в <jre_location>/lib/ext
. Плагин, в соединении с механизмом расширения в JRE, обрабатывает установку (загрузка и копирование файла) для Вас.
Можно добраться jmf.jar
загружая межплатформенную установку архивируют файл jmf-2_1_1e-alljava.zip
от
. Наряду с другими файлами фляги, файл zip содержит jmf.jar
, который можно извлечь из zip.
Как только Вы получили jmf.jar
, Вы будете хотеть извлечь jmf.jar
непосредственно в некоторый каталог, сказать C:\plugin\extensions\workspace1
. Здесь Вы будете хотеть удалить META-INF
каталог, если это существует, как manifest.mf
файл содержит информацию о подписании, которую Вы не хотите.
Затем Вы должны создать свой собственный файл манифеста для нового файла фляги, чтобы быть основанными на jmf.jar
. Файл манифеста, который мы создаем, мы вызываем jmf_manifest. Это будет обеспечено как входной для jar
инструмент. Вот то, что используется в этом примере:
Extension-Name: javax.media.s_my_jmf
Specification-Vendor: Sun Microsystems, Inc
Specification-Version: 2.1
Implementation-Vendor-Id: com.sun
Implementation-Vendor: Sun Microsystems, Inc
Implementation-Version: 2.1.1
Сначала мы будем сотрясать файлы в jmf.jar
и переименуйте результат my_jmf.jar
. Затем мы подпишем результат и вызовем его s_my_jmf.jar
.
Чтобы сотрясать файлы в workspace1
с нашим новым файлом манифеста jmf_manifest
, мы cd
к расположению workspace1
, тогда мы используем jar
инструмент в JDK следующим образом:
C:\plugin\extensions\workspace1>C:\"Program Files"\Java\jdk1.6.0\bin\jar cmf jmf_manifest my_jmf.jar *.class codecLib com javax jmapps
Отметьте это codecLib
, com
, javax
, и jmapps
подкаталоги, которые должны быть jar'd также as *.class
.
Если у Вас есть Thawte keystore вызванный thawte.p12
расположенный в C:\plugin\keystores
с тем же самым паролем, для обоих storepass
и keypass
, и storetype
"pkcs12"
и псевдоним keystore "Sun Microsystems Inc.'s Thawte Consulting cc ID"
, тогда можно пропустить следующий шаг и продолжить к подписанию my_jmf.jar
и создание файла фляги со знаком вызывают s_my_jmf.jar
.
Можно создать вызванный keystore thawte.p12
с тем же самым паролем, для обоих storepass
и keypass
и псевдоним keystore "New Technology Company's Thawte Consulting cc ID"
выполняя следующую команду:
C:\plugin\keystores>C:\"Program Files"\Java\jdk1.6.0\bin\keytool -genkey -alias "Sun Microsystems Inc.'s Thawte Consulting cc ID" -keypass password -keystore thawte.p12 -storetype pkcs12 -storepass password
In this example we use the
jarsigner
tool to sign the new jar file. Use
C:\plugin\extensions\workspace1>C:\"Program Files"\Java\jdk1.6.0\bin\jarsigner -keystore C:\plugin\keystores\thawte.p12 -storepass password -keypass password -storetype "pkcs12" -signedjar s_my_jmf.jar my_jmf.jar "New Technology Company's Thawte Consulting cc ID"
Мы можем проверить новый файл фляги со знаком следующим образом:
C:\plugin\extensions\workspace1>C:\"Program Files"\Java\jdk1.6.0\bin\jarsigner -verify s_my_jmf.jar
У нас теперь есть файл фляги со знаком с надлежащим manifest.mf
файл для необработанной установки.
Затем мы должны создать файл фляги апплета.
Апплет состоит из единственного файла, SimplePlayerApplet.class
, это может использоваться, чтобы воспроизвести медиа-файл. Исходный код для апплета может быть просмотрен здесь. То, что мы должны сделать, создают файл манифеста, требовавшийся апплет, который мы вызовем applet_manifest
, сотрясайте апплет с декларацией, затем подпишите результат..
Апплет applet_manifest
следующие:
Extension-List: s_my_jmf s_my_jmf-Extension-Name: javax.media.s_my_jmf s_my_jmf-Specification-Version: 2.1 s_my_jmf-Implementation-Version: 2.1.1 s_my_jmf-Implementation-Vendor-Id: com.sun s_my_jmf-Implementation-URL: http://java.sun.com/products/plugin/extensions/examples/jmf/s_my_jmf.jar
Отметьте, что вышеупомянутая декларация говорит что фляга расширения, s_my_jmf.jar
, может быть загружен с java.sun.com
веб-сервер в http://java.sun.com/products/plugin/extensions/examples/jmf
Если SimplePlayerApplet.class
и applet_manifest
располагаются в C:\plugin\extensions\workspace2
, мы можем сотрясать апплет с декларацией со следующей командой:
C:\plugin\extensions\workspace2>C:\"Program Files"\Java\jdk1.6.0\bin\jar cmf applet_manifest my_SimplePlayerApplet.jar *.class
Снова, мы используем jarsigner
подписать файл фляги:
C:\plugin\extensions\workspace2>C:\"Program Files"\Java\jdk1.6.0\bin\jarsigner -keystore C:\plugin\keystores\thawte.p12 -storepass password -keypass password -storetype "pkcs12" -signedjar s_my_SimplePlayerApplet.jar my_SimplePlayerApplet.jar "Sun Microsystems Inc.'s Thawte Consulting cc ID"
и мы проверяем это следующим образом:
C:\plugin\extensions\workspace2>C:\"Program Files"\Java\jdk1.6.0\bin\jarsigner -verify s_my_SimplePlayerApplet.jar
У нас теперь есть наш вызванный файл фляги апплета со знаком s_my_SimplePlayerApplet.jar
, чья декларация содержит корректную информацию, чтобы инициировать установку необходимого файла фляги расширения, s_my_jmf.jar
если никакой такой файл или более старая версия не находятся в <jre_location>/lib/ext
.
Затем мы должны создать HTML для апплета.
У нас есть несколько вариантов. Мы можем использовать стандартное APPLET
тегируйте и предположите, что у тех, кто посещает страницу, есть версия 1.3.1_01 Плагина Java или позже установленный на их системах. (Использовать Плагин Java, чтобы запустить апплет со стандартным тегом апплета требует 1.3.1_01 или позже.) Мы можем также использовать Преобразователь HTML, расположенный в JDK в bin
каталог (<sdk_location>/bin/HtmlConverter.exe
) преобразовать апплет в различные формы. Здесь мы используем стандартную форму апплета, показанную ниже:
SimplePlayerApplet-1.html
<html>
<head>
<title>SimplePlayerApplet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<applet code="SimplePlayerApplet.class" archive="s_my_SimplePlayerApplet.jar" width=320 height=300>
<param name="file" value="0720crt1.avi">
</applet>
</body>
</html>
Отметьте, что медиа-файл 0720crt1.avi
.
Для этого примера следующие файлы были помещены в java.sun.com
веб-сервер в http://java.sun.com/products/plugin/extensions/examples/jmf
:
0720crt1.avi
s_my_jmf.jar
s_mySiplePlayerApplet.jar
SimplePlayerApplet-1.html
Можно протестировать установку, щелкая по ссылке здесь:
Когда Вы укажете на свой браузер на URL, фляга апплета будет сначала загружена и кэшироваться; и, если расширение не было уже установлено, Вы будете видеть диалоговое окно Загрузки Запроса Java, которое говорит: 'Апплет требует установки дополнительного пакета. Вы хотите продолжать?'. У Вас будут опции, чтобы продолжать или отменить. Если Вы будете продолжать установку, нажимая кнопку OK, то Вы будете видеть, что Безопасность Предупреждает диалоговое окно для файла фляги расширения. Можно продолжить с установкой пакета, нажимая кнопку Run. Расширение будет установлено в <jre_location>/lib/ext
и апплет будет работать.