2016-01-20 3 views
1

Попытка использования Java Web Start. У меня есть подписанная банка (подписанная после изменений манифеста и восстановления), jnlp, и все это размещено на сервере, отличном от localhost.Ошибка Java Web Start: Отсутствует «Разрешения» в манифесте ... но он есть

JNLP выглядит так:

<jnlp spec="1.0+" 
    codebase="http://192.168.101.37/" 
    href="transform_player_webstart.jnlp"> 
<information> 
    <title>Transform Player</title> 
    <vendor>LCSI</vendor> 
</information> 
<resources> 
    <!-- Application Resources --> 
    <j2se version="1.6+" 
      href="http://java.sun.com/products/autodl/j2se"/> 
    <jar href="player.jar" main="true" /> 

</resources> 
<application-desc 
    name="Transform Player" 
    main-class="ca.lcsi.Program.App.Player.PlayerStarter"> 
</application-desc> 
<update check="background"/> 
</jnlp> 

Jar манифеста следующее:

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.8.2 
Permissions: sandbox 
Created-By: 1.6.0_45-b06 (Sun Microsystems Inc.) 
Main-Class: ca.lcsi.Program.App.Player.PlayerStarter 

Name: ca/lcsi/Program/Media/MediaEventListener.class 
SHA1-Digest: ojqbdHWk++FfBoH7VQwCdhk600s= 
... 
(all other signed entries) 

и запуска JNLP дает следующее сообщение об ошибке:
Ваши настройки безопасности заблокировали запуск приложения из-за отсутствия атрибута манифеста «Разрешения» в основной банке.

Но у меня его есть! Итак, какой улов?

ответ

1

Мои MANIFEST.MF В моем проекте (с помощью Java 8) - перед тем построить артефакт и подписать:

Manifest-Version: 1.0 
Application-Name: SgPrintApplet 
Permissions: all-permissions 
<blank line> 

И в jnlp файл, я добавил это:

<security> 
    <all-permissions/> 
</security> 

Ссылка здесь : http://docs.oracle.com/javase/8/docs/technotes/guides/javaws/developersguide/syntax.html#security

+0

На самом деле, это был не ваш ответ, который решил проблему, но с удивительным совпадением, это было точно отсутствует '' тег, который заставил Java показать эту ошибочную ошибку. –