Я пытаюсь сгенерировать исполняемый файл JAR из проекта, который использует: Maven, JFX, JFoenix, Hibernate ... в IntelliJ
Я пробовал много решений, которые мы можем найти на другом форуме / сайте разработчика(StackOverflow включен).Поэтому никто не работает для меня ..
Я пытался создать исполняемый файл JAR с:
Команда: MVN compile _, которые создаютдва исполняемых jar, которые ничего не выполняют ..
Создание артефакта: Файл -> Сохранить все -> Структура проекта -> + -> Jar -> От зависимостей модулей -> MainКласс: MyMainClass / Directory: src \ main \ java ИЛИ src \ main \ resources (потому что он работал на кого-то, чтобы это изменить.) -> Ok
Build -> Build artifact -> Build OR Rebuild. В данный момент у меня есть исполняемый файл, но он ничего не выполняет ..
- Затенение подключено: (ВыВы увидите в коде pom.xml), в результате чего:
Failed to execute goal
org.apache.maven.plugins:maven-shade-plugin:3.2.1:shade (default-cli)
on project GymFormManager: Failed to create shaded artifact, project main
artifact does not exist.
pom.xml, я беру только важную часть, потому что она слишком большая:
...
<modelVersion>4.0.0</modelVersion>
<groupId>com.gymform.maven</groupId>
<artifactId>GymFormManager</artifactId>
<version>1.0-SNAPSHOT</version>
</dependencies>
...
<!-- Try To Create Executable Jar -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.gymformmanager.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.gymformmanager.Main</mainClass>
</transformer>
</transformers>
<!-- I have tried with and without hadedArtifact --> <shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>GymFormManager</shadedClassifierName> <!-- Any name that makes sense -->
</configuration>
</execution>
</executions>
</plugin>
В настоящее время у меня есть три исполняемых jar, которые ничего не делают:
Первый исполняемый файл Путь первого executable
Второй и третий исполняемый файл Их пути
Редактировать: После следования советам Джони,У меня есть эта ошибка:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/gymformmanager/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runt
ime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Я решил проблему версии с этим: Windows игнорирует JAVA_HOME: как установить JDK по умолчанию?
Error: JavaFX runtime components are missing, and are required to run this application
Хотяу меня в моем pom.xml зависимость:
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>