По какой-то причине, JavaFX не кажется, в настоящее время поддерживает любые алгоритмы для криптографической службы Cipher, когда приложение выполняется после автономного развертывания, как описано here.В автономных приложениях JavaFX отсутствует криптографическая служба шифрования?
Учитывая этот код:
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();
}
}
Там нет проблем с получением населенного выхода с различными алгоритмами, если этот код побежало локально через Java пусковой, но дает пустого список, если приложение было упакован как автономный.
Однако, я также наткнулся на это:
только подмножество Java Runtime включена по умолчанию. Некоторые необязательные и редко используемые файлы исключаются для уменьшения размера пакета, такого как всех исполняемых файлов. Если вам нужно что-то, которое не включено в по умолчанию, вам необходимо скопировать его в качестве этапа последующей обработки. Для устанавливаемых пакетов вы можете сделать это из сценария конфигурации, который является , выполненным после заполнения автономной папки приложения. См. Раздел 6.3.3 «Настройка с использованием ресурсов Drop-In».
Может ли приведенный параграф быть вероятной причиной? Какое обходное решение потребуется для того, чтобы эта функциональность была включена в автономный режим ?
спасибо.
Не могли бы вы упаковать приложение с помощью внешнего «Провайдера», такого как надувной замок? – Qwerky
Я считаю, что это может быть правдоподобным вариантом, хотя, если быть откровенным, я бы предпочел собственное решение, которое находится в ** JDK **, вместо того, чтобы полагаться на внешние зависимости. Я попытаюсь исследовать этот конкретный вопрос больше, и если не удастся - я попробую библиотеки, предоставленные надувным замком. Спасибо за ваш комментарий. – ludwig
Глядя на https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_cookbook_using_drop, связанный JCE не упакован по умолчанию. – Qwerky