1

Java アプリケーションがあり、それにJavaFX 1.3を統合しました。Web Start アプリケーションとして展開しようとして 3 日以上費やしましたが、それは不可能です。

コンソール ( javafx -jar MatchTestCaseGenerator-2.0-jar-with-dependencies.jar) で jar を実行していますが、jnlp を実行しようとすると、次のエラーが発生します。

java.security.AccessControlException: access denied (java.util.PropertyPermission user.home read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1285)
at java.lang.System.getProperty(System.java:667)
at sun.awt.shell.ShellFolderManager.get(ShellFolderManager.java:57)
at sun.awt.shell.ShellFolder.get(ShellFolder.java:227)
at javax.swing.filechooser.FileSystemView.getDefaultDirectory(FileSystemView.java:404)
at javax.swing.JFileChooser.setCurrentDirectory(JFileChooser.java:552)
at javax.swing.JFileChooser.<init>(JFileChooser.java:334)
at javax.swing.JFileChooser.<init>(JFileChooser.java:286) ...

私はjarファイルに署名して検証しており、私のJNLPファイルは次のようになっています:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="file:/Users/ana/Projects/Java/workspace/Match Test Case Generator 2.0/target" href="MatchTestCaseGenerator.jnlp">
 <information>
    <title>Match Test Case Generator</title>
    <vendor>KV </vendor>
    <homepage href=""/>
    <description>some_description</description>
    <offline-allowed/>
    <shortcut>
        <desktop/>
    </shortcut>
  </information>
  <resources>
    <j2se version="1.6+"/>
      <extension name="JavaFX Runtime" href="http://dl.javafx.com/1.3/javafx-rt.jnlp"/>
    <jar href="MatchTestCaseGenerator-2.0-jar-with-dependencies.jar" main="true"/>
  </resources>
  <application-desc main-class="com.sun.javafx.runtime.main.Main" progress-class="com.javafx.progressbar.ProgressManager">
     <argument>MainJavaFXScript=com.knowledgevalues.mtcg.javafx.MainFx</argument>
  </application-desc>
</jnlp>

何か不足していますか?jar にポリシー ファイルを導入する必要がありますか?? 私は完全に迷っています

よろしくお願いいたします。

4

2 に答える 2

1

次のセクションを jnlp ファイルに追加してみてください。

<security>
  <all-permissions/>
</security>
于 2012-05-15T14:38:33.513 に答える
0

最終的な解決策は、Main クラス以外の javafx クラスを含むすべてのフォルダーを削除することでした。

ということで、問題なく動きました!!

于 2012-06-05T08:36:50.953 に答える