it-swarm.com.ru

Ошибка Java: "запуск настроек локального приложения"

Я пытаюсь запустить этот простой код HelloWorld, написанный на Java, из моего браузера ( Chrome ):

public class HelloWorld extends JApplet {
public void init() {
    try {
        SwingUtilities.invokeAndWait(new Runnable() {
            public void run() {
                JLabel lbl = new JLabel("Hello World");
                add(lbl);
            }
        });
    }
    catch (Exception e) {
        System.err.println("createGUI didn't complete successfully");
    }
}

Я скомпилировал его с NetBeans , а затем создал проект WebApplication. HTML код, который запускает апплет:

<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <p><applet code="HelloWorld" archive="applet_HelloWorld.jar"  width="590" height="530"></applet></p>
    </body>
</html>

Если запустить апплет из NetBeans, он работает. Но когда я запускаю HTML-код, дважды щелкнув по нему, в браузере появляется следующее сообщение:

Ваши настройки безопасности заблокировали запуск локального приложения. 

Я пытался с Internet Explorer и Firefox, но ничего.

Это сообщение начало появляться после последнего обновления Java. В чем проблема?

61
user2279697

После прочтения Обновление безопасности Java 7 Update 21 в деталях упоминание ..

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

Мне было интересно, как это будет происходить для свободных файлов классов - «самых простых» апплетов из всех.

Локальная файловая система

Dialog: Your security settings have blocked a local application from running
Ваши настройки безопасности заблокировали запуск локального приложения

Это диалоговое окно, видимое для апплета, состоящего из файлов незанятых классов, загружаемых из файловой системы local, когда для JRE задано значение по умолчанию «Высокий уровень безопасности».


Обратите внимание, что небольшая причудливость JRE произвела это только в пункте 3.

  1. Загрузите страницу апплета, чтобы увидеть сломанный символ апплета, который ведет к пустой консоли .
    Откройте настройки Java и установите уровень Medium .
    Закройте настройки браузера и Java.
  2. Загрузите страницу апплета, чтобы увидеть апплет .
    Откройте настройки Java и установите уровень High .
    Закройте настройки браузера и Java.
  3. Загрузите страницу апплета, чтобы увидеть сломанный символ апплета & вышеприведенный диалог.

Интернет

Если вы загружаете простой апплет (файл свободного класса), увиденный в этой изменяемой размер демонстрации апплета off internet - который может похвастаться элементом applet:

<applet
    code="PlafChanger.class"
    codebase="."
    alt="Pluggable Look'n'Feel Changer appears here if Java is enabled"
    width='100%'
    height='250'>
<p>Pluggable Look'n'Feel Changer appears here in a Java capable browser.</p>
</applet>

Это также, кажется, загружается успешно. Подразумевается, что: 

Апплеты, загруженные из локальной файловой системы, теперь подвергаются более жесткой изолированной программной среде, чем загружаемые из Интернета или локального сервера.

Описания настроек безопасности

Начиная с Java 7 обновление 51.

  • Very High: Наиболее безопасный параметр - разрешено запускать только приложения Java, указанные в сертификате с истекшим сроком действия из доверенного органа.
  • Высокий (рекомендуется минимум): Приложения Java, идентифицированные сертификатом доверенного органа, будут разрешены к запуску.
  • Medium - Все приложения Java будут запускаться после представления запроса безопасности.
58
Andrew Thompson

Сегодня я столкнулся с той же проблемой, и мне удалось ее исправить, изменив настройки безопасности на панели управления Java с HIGH на MEDIUM.

Что ж, постоянно устанавливать параметр безопасности Java на MEDIUM не рекомендуется, так как это позволит потенциально вредоносным программам работать в вашей системе и не блокироваться. Поэтому я предлагаю после запуска вашего апплета вы можете изменить настройку на HIGH.

Расположение панели управления Java

Изменить настройки панели управления

21
rockstar

Если вы используете Linux , эти настройки доступны с помощью /usr/bin/jcontrol (или вашего пути, чтобы получить текущие инструменты Java). Вы также можете отредактировать файлы в ~/.Java/deployment/deployment.properties, чтобы установить "deploy.security.level = MEDIUM".

Удивительно, но эта информация недоступна на веб-сайте Oracle. Я скучаю по Java.Sun.com ...

12
rommer
  1. Перейти к панели управления
  2. Дважды щелкните на Java
  3. Откройте вкладку Безопасность
  4. Выбрать Средний
  5. Нажмите на Применить
  6. Перезапустите свой веб-браузер 

Это оно!

enter image description here

11
Burhan ARAS

Если у вас нет среднего уровня безопасности, то вы должны добавить свое приложение в Список сайтов исключений ( Панель управления Java вкладка Безопасность ).

  1. Откройте апплет в браузере и скопируйте содержимое адресной строки. screenshot of applet's address in the address bar
  2. Перейдите на Панель управления Панель управления Java Безопасность и нажмите кнопку Edit Site List... кнопка. screenshot of Java Control Panel's Security tab

  3. Нажмите Add введите свой путь и нажмите Enter. screenshot of Exception Site List

  4. Нажмите Continue на появившемся предупреждении безопасности. screenshot of Security Warning - FILE Location alert Prompt

  5. Откройте апплет снова и не забудьте нажать Run во всплывающем окне. screenshot of Security Warning

8
Pavlo Zvarych

Если вы похожи на меня, чья панель управления Java не отображает ползунок безопасности на вкладке «Безопасность» для изменения уровня безопасности с высокого на средний, то следуйте этим инструкциям: Java известная ошибка: ползунок безопасности не виден .


Симптомы:

После установки флажок для включения/выключения Java и ползунок уровня безопасности не отображаются на вкладке Безопасность панели управления Java. Это может произойти с 7u10 и выше. 

Причина

Это связано с конфликтом Java 7u10 и выше с автономными установками JavaFX. Пример: Если Java 7u5 и JavaFX 2.1.1 установлены и если Java обновлена ​​до 7u11, панель управления Java не показывает флажок или ползунок безопасности.

Разрешение

Перед установкой Java 7u10 и выше рекомендуется удалить все версии Java и JavaFX.
Пожалуйста, следуйте инструкциям ниже для решения этой проблемы.
1. Удалите все версии Java и JavaFX через панель управления удаления Windows. Инструкция по удалению Java .
2. Запустите утилиту удаления Microsoft, чтобы восстановить поврежденные ключи реестра, которые не позволяют программам полностью удаляться или блокировать новые установки и обновления.
3. Загрузите и установите Windows автономный установщик пакет.

3
Rohit

Моя проблема была в том, чтобы запустить файл portecle.jnlp локально, используя Java8.

Что сработало для меня

  1. Пуск Программы -> Java -> Настроить Java ...
  2. Зайдите в Безопасность -> Изменить список сайтов ...
  3. Добавить http://portecle.sourceforce.net
  4. Запустите javaws portecle.jnlp в приглашении CMD

На шаге 3 вы также можете попробовать добавить файл: /// c: /path/portecle.jnlp, но это дополнение не помогло в моем случае.

1
Timo Riikonen
  • Начиная с Java 8, на вкладке «Безопасность» в Java нет настройки «среднего» риска

  • Вы будете получать эту ошибку до тех пор, пока не вернетесь к более старой версии Java (но, предположим, Java 7 окончил свою жизнь).

  • Установите как 32-битную, так и 64-битную версию, потому что браузеры по-прежнему 32-битные, даже на 64-битной машине, 64-битной ОС

0
Vishal Kanaujia

Я использую старую книгу «Структура данных и алгоритмы», которая поставляется с Java-апплетами для практики. Поэтому мне нужно было хранить и запускать некоторые апплеты локально. В настоящее время я использую ОС Windows 10 с Edge, Chrome и IE 11.

Запуск апплетов, по-видимому, разрешен только в IE11, и, как уже упоминалось, вы должны добавить апплет в список исключений. Моя проблема заключалась в том, что я храню их локально и открываю их в IE, он открывается путем, начинающимся с «C:\...». Добавляем полный путь, используя «file /// ...», как упомянуто в одном из другие ответы не сработали для меня.

Исправление: Итак, я просто добавил (без кавычек) «file: ///» в список сайтов исключений и, наконец, все заработало. Это также позволяет мне запускать любой апплет, хранящийся локально, и мне не нужно явно добавлять исключение для каждого пути апплета.

Я планирую удалить исключение из списка, как только я закончу пользоваться программами, и добавить его только при необходимости.

0
eaglei22

Java-апплеты действительно создают угрозу безопасности, поэтому отключены в большинстве современных браузеров. Вы должны снизить безопасность, чтобы запустить его. Для этого есть руководство от Oracle .

0
Pradeep Pati