如何轻松地从 Intellij 制作 jar 文件并 运行 它正确?
How to easily make a jar file from Intellij and run it correctly?
通过 Intellij Artifacts 制作 jarfile 当我 运行 jarfile 时显示此错误:Error: Invalid or corrupt jarfile Test.jar
在通过 Maven 程序集插件制作 jarfile 时,当我 运行 jarfile java.lang.NoClassDefFoundError: javafx/application/Application
我不知道我做错了什么。
EDIT :我将 META-INF 放在正确的文件夹中,现在 java.lang.NoClassDefFoundError: javafx/application/Application
但是我制作了 jarfile。当我在 Intellij 上启动程序时一切正常。
我解决了我自己的问题(感谢我自己)。如果您使用 Maven 和 Intellij,那么这里是解决方案。您可以使用名为 shade.
的 Maven 插件
在pom.xml中,在插件部分写下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>project-classifier</shadedClassifierName>
<outputFile>shade${project.artifactId}.jar</outputFile>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>folder.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
将 "folder.Main" 更改为您的 class 包含主要部分的名称。
转到运行配置(在绿色锤子的右边)。单击 + 和应用程序。现在用您的主要 class.
填充主要 class 部分
重要 : 在 运行 配置 window 的底部,有一个绿色锤子 build 。在其上方,单击 + -> 运行 Maven 目标。在命令行中,写入 clean install。单击确定。
运行 你的程序,就像你通常做的那样,使用你的新 运行 配置。 intellij底下应该有很多日志,在你的项目根目录新建一个文件,名字叫shadeyour_project_name.jar
要启动它,请在 jarfile 文件夹中打开一个终端,然后使用 java -jar jarfile.jar
通过 Intellij Artifacts 制作 jarfile 当我 运行 jarfile 时显示此错误:
Error: Invalid or corrupt jarfile Test.jar
在通过 Maven 程序集插件制作 jarfile 时,当我 运行 jarfile
java.lang.NoClassDefFoundError: javafx/application/Application
我不知道我做错了什么。
EDIT :我将 META-INF 放在正确的文件夹中,现在 java.lang.NoClassDefFoundError: javafx/application/Application
但是我制作了 jarfile。当我在 Intellij 上启动程序时一切正常。
我解决了我自己的问题(感谢我自己)。如果您使用 Maven 和 Intellij,那么这里是解决方案。您可以使用名为 shade.
的 Maven 插件在pom.xml中,在插件部分写下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <shadedArtifactAttached>true</shadedArtifactAttached> <shadedClassifierName>project-classifier</shadedClassifierName> <outputFile>shade${project.artifactId}.jar</outputFile> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>folder.Main</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
将 "folder.Main" 更改为您的 class 包含主要部分的名称。
转到运行配置(在绿色锤子的右边)。单击 + 和应用程序。现在用您的主要 class.
填充主要 class 部分
重要 : 在 运行 配置 window 的底部,有一个绿色锤子 build 。在其上方,单击 + -> 运行 Maven 目标。在命令行中,写入 clean install。单击确定。
运行 你的程序,就像你通常做的那样,使用你的新 运行 配置。 intellij底下应该有很多日志,在你的项目根目录新建一个文件,名字叫shadeyour_project_name.jar
要启动它,请在 jarfile 文件夹中打开一个终端,然后使用 java -jar jarfile.jar