2
, 자바 FX는 here 설명 된대로 응용 프로그램의 자체에 포함 된 배포 후 실행시 현재 암호 암호화 서비스에 대한 어떤 알고리즘을 지원하지 않는 것 같습니다.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 절. "드롭 인 리소스를 사용한 사용자 정의"를 참조하십시오.
인용 단락이 가능한 원인 일 수 있습니까? 이 기능을 런타임에 에 포함 시키려면 어떤 종류의 해결 방법이 필요합니까?
감사합니다.
바운시 캐슬과 같은 외부 '제공자'로 앱을 패키징 할 수 있습니까? – Qwerky
솔직히 말해서 외부 종속성에 의존하지 않고 ** JDK **에 상주하는 네이티브 솔루션을 선호하는 것이 그럴듯한 옵션이라고 생각합니다. 나는이 특별한 문제를 더 연구하려고 노력할 것입니다. 실패 할 경우 - 탄력성이 제공하는 libs를 시도 할 것입니다. 당신의 의견에 감사드립니다. – ludwig
https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_cookbook_using_drop에서 번들로 제공된 JCE는 기본적으로 패키지되지 않습니다. – Qwerky