Прежде чем погрузиться в основную часть, позвольте мне подытожить, где я сейчас нахожусь. Я сделал простую программу на Java, скомпилированную с помощью JDK 16 в NetBeans (проект Ant). Я построил его с необходимой информацией о модулях внутри файла module-info.class
. Затем я создал свой собственный образ среды выполнения (JRE) из созданного файла jar с помощью jlink. Затем я преобразовал файл jar в exe с помощью Launch4J.
Чтобы запустить файл jar, я могу просто использовать эту команду: /location of custom JRE/bin/java -jar filename.jar.
А как насчет exe-файла, который я создал из файла jar?
После некоторых экспериментов я выяснил, что эта же команда /location of custom JRE/bin/java -jar filename.exe
работает и для exe-файла. Но правильный ли это путь?
У меня есть сомнения, потому что то, что я запускаю, не является банкой, но я все еще использую атрибут -jar
. И я также попытался запустить программу exe без атрибута -jar
и получил следующие ошибки:
Error: Could not find or load main class D:\Fida\Codeblocks\Java\MultipleClass.exe
Caused by: java.lang.ClassNotFoundException: D:\Fida\Codeblocks\Java\MultipleClass.exe
Может быть способ даже без использования каких-либо java-команд. Вы можете запустить его, просто дважды щелкнув исполняемый файл. Но, к сожалению, java-программа не может сама обнаруживать пользовательские образы среды выполнения. Он обнаруживает только JRE или JDK, установленные с помощью установщика. Если бы был способ установить пользовательские образы среды выполнения, я мог бы запустить исполняемый файл, просто дважды щелкнув его. Какие-либо предложения?
Спасибо!
С уважением,
Фида
jpackage
. Если я его использую, будет ли моя исполняемая программа запускаться по двойному щелчку? - person Programmer Hobbyist   schedule 20.06.2021jpackage
проще в использовании; вы можете подумать о переключении инструментов, если вам не нужно что-то в Launch4J, чегоjpackage
не предоставляет. Но я предвзят, так как знаком сjpackage
(обратите внимание, я дал ссылку на его руководство пользователя в своем первом комментарии). - person Slaw   schedule 20.06.2021-m
. Параметр-jar
предназначен для немодульного программного обеспечения, которое запускается с файлом jar и его зависимостями от пути к классам, а не от пути к модулю. Поскольку образ среды выполнения, созданный с помощью jlink, уже содержит ваши модули, нет смысла создавать exe-файл из jar-файла. - person Holger   schedule 21.06.2021