2012-05-15 2 views
1

Java 응용 프로그램이 있으며 JavaFX 1.3을 JavaFX에 통합했습니다. 3 일 이상을 Web Start Application으로 배포하려고했지만 그럴 수 없습니다.swing.filechooser를 사용하여 javafx 1.3 응용 프로그램을 배포하십시오.

나는 콘솔 (javafx -jar MatchTestCaseGenerator-2.0-jar-with-dependencies.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> 

나는 뭔가를 놓친가요? 항아리에 정책 파일을 도입해야합니까 ?? 나는 완전히 잃어버린거야

어떤 도움을 주셔서 대단히 감사합니다.

답변

1

시도는 jnlp 파일에 다음 섹션을 추가합니다 :

<security> 
    <all-permissions/> 
</security> 
+0

대단히 감사합니다! 나는 일했다. 하지만 지금은 다른 문제가 있습니다 : "AWT-EventQueue-0"java.lang.NoClassDefFoundError : com/sun/javafx/runtime/eula/Eula의 예외 \t at java.lang.ClassLoader.defineClass1 (Native 방법) java.lang.ClassLoader.defineClassCond (ClassLoader.java:631) java.lang.ClassLoader.defineClass에서 \t (ClassLoader.java:615) java.security.SecureClassLoader.defineClass에서 \t (SecureClassLoader.java에서 \t : 141) ... 아이디어가 있으십니까? – Ana

+0

JavaFX 1.3 런타임이 설치되어 있지 않은 것으로 보입니다. JavaFX 1.3 응용 프로그램이 컴퓨터에서 jnlp를 통해 작동합니까? –

+0

예! 나는 잘 작동하는 오라클에서 다른 javaFX 1.3 응용 프로그램을 가지고 있고 "javafx -jar MatchTestCaseGenerator-2.0-jar-with-dependencies.jar"를 사용하여 내 jar를 실행하려고하면 잘 작동합니다. 내가 확인한 또 다른 사항은 내 항아리 (특히 클래스 Eula.class)에 중복 파일이 없으며 지정한 경로 (com/sun/javafx/runtime/eula/Eula)에만이 클래스가 있습니다. 그래서 ... 무슨 일이 일어나고 있는지, 내가 무엇을 할 수 있는지를 알지 못합니다 ... – Ana

0

최종 솔루션은 메인 클래스를 제외하고 자바 FX 클래스가 포함 된 모든 폴더를 제거하는 것이었다.

그걸로 문제없이 일했습니다 !!

관련 문제