2009-12-27 3 views
3

Я создал JApplet, который использует две внешние библиотеки (JENA и JUNG). Апплет работает правильно, когда я запускаю его из среды IDE (используя eclipse). Я создал файл jar, подписал его (так как апплет должен читать текст с диска), создал HTML-страницу для хранения апплета, однако, когда я пытаюсь запустить ее в веб-браузере, я получаю окно предупреждения о безопасности Java и когда я нажмите, чтобы запустить всю вкладку браузера, кажется, зависает.Пытается получить подписанный апплет для работы в браузере, но неудачно угасает

Вот HTML файл я писал:

<html> 
    <head> 
     <title>Ontology Application</title> 
    </head> 
    <body> 
     <applet code="assignment.Launcher.class" width="1000" height="800" archive="test.jar"></applet> 
    </body> 
</html> 

Класс Launcher содержит инициализации, запуска, остановки и уничтожить методы, и все классы, используемые в проекте, сохраняются в пакете назначения. test.jar является подписанным файлом jar и помещается в ту же папку, что и файл HTML.

Я следовал инструкциям в этой теме, чтобы создать свой личный/открытый ключ, сертификат и подписать файл фляги: How to sign and applet (and get it to work)

У меня есть список вопросов о всем процессе, так как я не уверен, о паре шагов.

Вопрос 1: Я создал файл jar с использованием eclipse (проект правой кнопки мыши -> export -> JAR-файл) и сохранил настройки по умолчанию. В результирующем файле jar содержатся библиотеки библиотек, которые я импортировал в проект? если ответ отрицательный, как включить ссылки на библиотеки в файле jar?

Вопрос 2: Если результирующий файл jar запускается, если я дважды его кликнул? поскольку он не запускается (я думаю, что это не работает, потому что не указан основной класс, поскольку апплет не имеет основного метода, но я должен быть исправлен)

Вопрос 3: Поскольку я использую внешние библиотеки в моем апплете, мне нужно, чтобы цифровой знак все импортированные файлы jar, чтобы сделать апплет работы? или подписать основной файл jar (содержащий мои классы) достаточно?

Вопрос 4: Если когда-нибудь мне удастся заставить апплет работать в браузере, появится ли окно предупреждения о безопасности java каждый раз, когда приложение пытается прочитать текст с диска? или диалоговое окно предупреждения безопасности появляется только один раз, когда апплет загружается?

Заранее спасибо, и извините за вопрос нагрузок вопросов в одном потоке, однако они тесно связаны с предметом :)

+0

Очевидная точка, но я думаю, что один стоит сделать: Если вы не знаете, что вы делаете, вы счастливы с вытекающим из подписи, что подписавшие утверждает, что это безопасно? –

+0

У меня нет никаких проблем с доверием и безопасностью, так как проект, который я разрабатываю, - это просто школьное задание :) –

ответ

4
  1. Вы должны использовать <PARAM NAME="archive" VALUE='applet.jar, external1.jar, external2.jar'> в вашем объявлении апплета в HTML. Вы также можете попробовать добавить Class-Path к вашему MANIFEST.MF основного кувшина (см here)
  2. No. Если у Вас нет Main-Class указано в вашем MANIFEST.MF
  3. Да, в случае, если внешние банки делают некоторые операции по обеспечению безопасности чувствительных (например, чтение/запись файловой системы)
  4. No.
+0

Спасибо за ваши ответы. Я попробую ваши предложения и посмотрю, смогу ли я заставить его работать. –

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

  • Нет связанных вопросов^_^