powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java WebStart проблемы с разрешениями
7 сообщений из 7, страница 1 из 1
Java WebStart проблемы с разрешениями
    #39391341
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Помогите пожалуйста решить проблему.

Описываю ситуацию:

1. есть проект MyProject.jar, проект использует библиотеки lib1.jar lib2.jar эти библиотеки лежат в папке lib рядом с MyProject.jar, так же проект использует плагины которые могу лежать где угодно. Плагин это jar файл который в runtime подгружается к проекту по необходимости.
2. приложение запускается и работает как надо
3. пробую использовать Java Web Start для распространения своего проекта
4. подписал все файлы сертификатом
5. сделал jnlp. в jnlp файле прописаны все библиотеки, плагины не прописаны
6. пробую запустить свой проект через JWS
6.1. приложение запускается
6.2. плагины подгружаются
6.3. НО... если плагин загружен главным приложением которое содержит main class, то плагин работает нормально, если же я загружаю плагин из плагина то при работе с файлами, например, получаю ошибку java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\MyProject\plugin\pluhin1.jar" "read"). Загрузчик классов в главном файле и плагинах одинаковый.

ошибка появляется когда я хочу проверить есть ли файл в папке или нет

if (!file.exists()) {
return 0;
}

вот кусочек стека
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at com.sun.javaws.security.JavaWebStartSecurity.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.exists(Unknown Source)

содержимое JNLP

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx=" http://javafx.com" href="MyProject.jnlp" codebase=" https://MyHost:8443/MyProject">
<information>
<title>MyProject</title>
<vendor>OOO "MyProject"</vendor>
<description>MyProject</description>
<icon href="MyProject.ico" width="128" height="128" kind="shortcut"/>
<offline-allowed/>
<shortcut>
<desktop/>
</shortcut>
</information>
<resources>
<property name="user.dir" value="C:\MyProject"/>
<j2se version="1.6+" href=" http://java.sun.com/products/autodl/j2se" max-heap-size="512M"/>
<jar href="MyProject.jar" size="51307" download="eager" />
<jar href="lib/lib1.jar" size="2844" download="eager" />
<jar href="lib/lib2.jar" size="2756" download="eager" />
</resources>
<security>
<all-permissions/>
</security>
<application-desc width="800" height="600" main-class="com.javafx.main.NoJavaFXFallback" name="MyProject" >
<param name="requiredFXVersion" value="8.0+"/>
</application-desc>
<jfx:javafx-desc width="800" height="600" main-class="myproject.MyProject" name="MyProject" />
<update check="always"/>
</jnlp>

подскажите что нужно сделать чтобы избежать ошибки описанной выше?

P.S. код не форматированный потому что менюшка с тегами кода сразу пропадает при появлении.
...
Рейтинг: 0 / 0
Java WebStart проблемы с разрешениями
    #39391376
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java WebStart проблемы с разрешениями
    #39391531
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

спасибо за ответ!

если я правильно понял эту статью то в ней говориться что надо добавлять строки Permissions и Codebase в манифест
у меня эти строки есть
вот часть манифеста

Manifest-Version: 1.0
Application-Name: MyProject
Implementation-Title: MyProject
X-COMMENT: Main-Class will be added automatically by build
Implementation-Version: 1.0
Permissions: all-permissions
Codebase: *
JavaFX-Version: 8.0
Class-Path: lib/lib1.jar lib/lib2.jar
Created-By: JavaFX Packager
Implementation-Vendor: OOO "MyProject"
Main-Class: myproject.MyProject

может быть я еще что то забыл?
...
Рейтинг: 0 / 0
Java WebStart проблемы с разрешениями
    #39391547
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,

Может JNLP надо подписать тоже?
http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/signedJNLP.html
...
Рейтинг: 0 / 0
Java WebStart проблемы с разрешениями
    #39391574
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

JNLP тоже подписан

пока он не был подписан даже основное приложение не запускалось

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

если я запустил проект с определенными параметрами значит все его плагины (*.jar) должны исполняться с такими же правами (настройками) если загружаются тем же класслоудером что и главный проект. главный проект загружается JNLPCalssLoader плагины загружаются URLClassLoader с парентом JNLPCalssLoader
...
Рейтинг: 0 / 0
Java WebStart проблемы с разрешениями
    #39391626
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Если вы знаете как решить проблему, можем помочь решить ее мне за умеренную плату :) ?
...
Рейтинг: 0 / 0
Java WebStart проблемы с разрешениями
    #39391643
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне удалось решить проблему! вознаграждение оставлю себе :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Java WebStart проблемы с разрешениями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]