2013-07-30 7 views
2

, 자바 FXhere 설명 된대로 응용 프로그램의 자체에 포함 된 배포 후 실행시 현재 암호 암호화 서비스에 대한 어떤 알고리즘을 지원하지 않는 것 같습니다.JavaFX 자체 포함 앱에 Cipher 암호화 서비스가 누락 되었습니까? 어떤 이유

import java.security.Security; 
import java.util.Iterator; 
import javafx.application.Application; 
import javafx.collections.FXCollections; 
import javafx.collections.ObservableList; 
import javafx.scene.Scene; 
import javafx.scene.control.ListView; 
import javafx.stage.Stage; 



public final class Main extends Application 
{ 
    @Override 
    public void start(final Stage stage) 
    { 
     final ObservableList<String> ol = FXCollections.observableArrayList(); 
     final ListView<String> lv = new ListView(ol); 

     for (final Iterator<String> iter = Security.getAlgorithms("Cipher").iterator(); iter.hasNext();) 
      ol.add(iter.next()); 

     final Scene s = new Scene(lv, 500, 400); 

     stage.setScene(s); 
     stage.sizeToScene(); 
     stage.show(); 
    } 
} 

이 코드는 자바 실행을 통해 로컬로 실행되는 경우 다양한 알고리즘으로 채워 출력을 받고 아무 문제가 없지만, 응용 프로그램이되었습니다 경우 목록을 제공 :이 코드를 감안할 때

으로 포장 된을 포함합니다.

그러나, 나는이 우연히 한 :

은 자바 런타임의 일부가 기본적으로 포함되어 있습니다. 일부 선택적 및 거의 사용되지 않는 파일은 패키지 크기를 줄이기 위해 제외됩니다 (예 : 모든 실행 파일). 에 포함되지 않은 것을 필요로하는 경우 사후 처리 단계로 복사해야합니다. 설치 가능한 패키지의 경우 자체 포함 된 응용 프로그램 폴더를 채운 후에 실행되는 인 구성 스크립트에서이 작업을 수행 할 수 있습니다. 6.3.3 절. "드롭 인 리소스를 사용한 사용자 정의"를 참조하십시오.

인용 단락이 가능한 원인 일 수 있습니까? 이 기능을 런타임에 에 포함 시키려면 어떤 종류의 해결 방법이 필요합니까?

감사합니다.

+0

바운시 캐슬과 같은 외부 '제공자'로 앱을 패키징 할 수 있습니까? – Qwerky

+0

솔직히 말해서 외부 종속성에 의존하지 않고 ** JDK **에 상주하는 네이티브 솔루션을 선호하는 것이 그럴듯한 옵션이라고 생각합니다. 나는이 특별한 문제를 더 연구하려고 노력할 것입니다. 실패 할 경우 - 탄력성이 제공하는 libs를 시도 할 것입니다. 당신의 의견에 감사드립니다. – ludwig

+2

https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_cookbook_using_drop에서 번들로 제공된 JCE는 기본적으로 패키지되지 않습니다. – Qwerky

답변

0

this link 번들로 표시된 JCE는 기본적으로 패키지되지 않습니다.