Найти jar в исполняемом файле

#java #javafx

#java #javafx

Вопрос:

Я пытаюсь преобразовать свой java-код в исполняемый файл, однако в этом Java-коде используется другой jar, который я написал. Этот второй jar можно легко найти, когда я запускаю приложение локально (в IDE), но не тогда, когда я создаю из него exe, тогда я больше не могу найти встроенный jar, который я добавил.

В моей среде разработки я использую следующее, чтобы в настоящее время найти нужную банку

 String path = FXMLDocumentController.class.getProtectionDomain().getCodeSource().getLocation().getPath();
 

Затем я удаляю последнюю часть и заменяю ее на libAllInOneJar.jar

Я искал в Интернете, как я мог бы найти jar в exe, и это подсказывает мне использовать следующее

 URL in = this.getClass().getResource("/AllInOneJar.jar");
 

или

 InputStream in = getClass().getResourceAsStream("lib/AllInOneJar.jar");
 

Я все еще не уверен, как это поможет мне найти местоположение моей jar в созданном мной exe.

Комментарии:

1. Вы уверены, что в последнем jar при извлечении находится ваш дополнительный jar? Если нет, то убедитесь, что при упаковке вашего jar вы также включаете его зависимости.

2. Я совершенно уверен, что у него есть jar в exe. Я также использую другие библиотеки в качестве jars, и он может их использовать. Мне просто нужен путь к файлу этого конкретного jar, чтобы я мог запускать его отдельно в моем exe

3. Как вы используете этот другой файл JAR? Библиотека? Поставщик услуг? Разветвленный процесс? Что-то еще?

4. Jar, который я пытаюсь найти, используется для выполнения в cmd