2014-02-18 1 views
0

Я пытаюсь перекрыть приложение Java Web Starter, которое нарушено с Java 7. Это сработало до. Все файлы Jar подписаны.System.getProperty не может читать jnlp - ресурсы, так как java 7 - Может ли это быть из-за неподписанного JNLP-файла

Я пытаюсь получить информацию о теге ресурса из моего jnlp-файла.

Я использую System.getProperty, но он возвращает null.

Я искал какое-то время, но я не нашел ответа на следующие вопросы:

  1. Должен ли я подписать JNLP-файл, чтобы иметь возможность получить тег ресурсов?
  2. Если да, то как я могу это сделать? Я читал, что я должен положить его в ту же самую банку, что и начальный класс, но я не нашел хорошей инструкции, как это сделать.
  3. Я читал, что jnlp должен называться APPLICATION.JNLP и быть в папке JNLP-INF. Это необходимо? Есть ли эта папка? Он может быть любым?
  4. Я прочитал релиз от oracle, что нового в Java 7. Я не нашел изменения в System.getProperty, а в этой функции использовался SecurityManager. Правильно ли, что это не изменилось?

Вот я думаю, что важная часть Кодекса:

Ok Так это линия я стараюсь, чтобы получить один из ресурсов тэга:

String strApiPath = System.getProperty("apipath"); 
System.out.println(strApiPath); 

strApiPath является нулевым.

ресурсы, часть JNLP выглядит следующим образом:

<resources> 

    <j2se version="1.5+" initial-heap-size="64m" max-heap-size="512m"/> 


    <jar href="dist/pathtool-2.jar"/> 
    <jar href="jars/resources.jar"/> 
    <jar href="jars/reporting-api-javaclient.jar"/> 

    <jar href="jars/commons-collections-3.2.jar"/> 
    <jar href="jars/colt.jar"/> 
    <jar href="jars/jdom.jar"/> 


    <jar href="jars/ptjung1.7.jar"/> 

    <jar href="jars/commons-configuration-1.2.jar"/> 
    <jar href="jars/commons-httpclient-3.1.jar"/> 
    <jar href="jars/commons-lang-2.1.jar"/> 

    <jar href="jars/commons-logging-1.1.jar"/> 
    <jar href="jars/commons-logging-api-1.1.jar"/> 
    <jar href="jars/commons-codec-1.3.jar"/> 

    <jar href="jars/jnlp.jar"/> 


    <!-- http or https --> 
    <property name="protocol" value="http"/> 
    <!-- Domainname or ip --> 
    <property name="host" value="localhost"/> 
    <property name="port" value="8080"/> 
    <property name="proxyactive" value="false"/> 
    <property name="proxyhost" value="false"/> 
    <property name="proxyport" value="false"/> 
    <property name="webuser" value="dummy"/> 
    <property name="webpwd" value="dummy"/> 
    <property name="apipath" value="../../api_basic"/> 
    <property name="user" value="123"/> 
    <property name="psw" value="123"/> 
    <property name="datasource" value="eval"/> 

    </resources> 
+0

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

ответ

1

Начиная с java7 update51 есть новые требования к веб-запуска приложений.

  • Всех банки должны подписаны (не с самоподписным сертификатом) с сертификатом
  • файл манифеста должен быть обновлен - см this link

Некоторого выхода Предупреждения но Тег «permissions» является обязательным тегом.

Какая ошибка вы получаете?

+0

Эй, да, у нас есть сертификат, и я обновил все манифесты. Я не получаю сообщение об ошибке или предупреждение или что-то еще в консоли. GetProperty просто возвращает null, и я не могу понять, почему :( – LizMyself

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