IntelliJ IDEA中生成jar包并运行

Posted 北雨南萍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IntelliJ IDEA中生成jar包并运行相关的知识,希望对你有一定的参考价值。

1.IntelliJ IDEA中的java项目生成jar包

IntelliJ IDEA中的java项目(比如:myproject),可以生成jar包。

本文以IntelliJ IDEA 2022.3 版本为例进行介绍,方法如下:

1. 依次选择菜单:File->Project Structure...,打开“Project Structure”界面。

2. 在打开界面的左侧列表中选择:Artifacts,点击右侧出现的+号。

3. 在出现的菜单中依次选择:JAR->From modules with dependencies...,

打开“Create JAR from Modules”界面。

4. 在Main Class输入框中输入main方法所在类的完整包名+类名,或者点击右侧的选择图标,直接选择。

5. 如果当前项目没有其他依赖的话,可以选择“JAR files from libraries”中的任意一项。

如果当前项目有外部jar包依赖的话,推荐选择“copy to the output directory and link via manifest”,

这样打包的jar包不包含所依赖的外部jar包。

6. “Directory for META-INF/MANIFEST.MF”中输入META-INF目录的路径,推荐项目根目录。

7. 点击“OK”按钮。

在出现的界面中可以看到“Output directory”输入框,可以修改这个路径,用来保存生成的jar包,一般保持默认即可。

然后选中“Include in project build”选项。点击“OK”按钮,完成配置。

8. 如果要生成jar包,可以依次选择菜单:Build->Build Artifacts...,打开“Build Artifacts”快捷菜单。

9. 然后依次选择菜单:myproject:jar->Build,就开始构建jar包了。

构建完成后,就可以到前面定义的保存路径中查看了。

2. 运行

Windows/linux

java -jar myproject.ja

3.错误与解决

3.1 错误1:Windows下运行jar包出错

E:\\JAVA-ALL\\PJT-sets\\gen-segment-file\\out\\artifacts\\gen_segment_file_jar>java -jar gen-segment-file.jar

Error: A JNI error has occurred, please check your installation and try again

Exception in thread "main" java.lang.UnsupportedClassVersionError: Main has been compiled by a more recent version of the Java Runtime (class file version 63.0), this version of the Java Runtime 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)

E:\\JAVA-ALL\\PJT-sets\\gen-segment-file\\out\\artifacts\\gen_segment_file_jar>

解决:

需要安装匹配版本的jdk-1.8版本

File->Project Stucture->Project

3.2 Linux运行错误与解决

错误:

java -jar myproject.jar

-bash: java: command not found

解决:

安装Java运行环境:

>> yum -y list java*

Available Packages

java-1.5.0-gcj.x86_64 1.5.0.0-29.1.el6 base

java-1.5.0-gcj-devel.x86_64 1.5.0.0-29.1.el6 base

java-1.5.0-gcj-javadoc.x86_64 1.5.0.0-29.1.el6 base

java-1.5.0-gcj-src.x86_64 1.5.0.0-29.1.el6 base

java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el6_8 base

java-1.6.0-openjdk-demo.x86_64 1:1.6.0.41-1.13.13.1.el6_8 base

java-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.el6_8 base

java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.41-1.13.13.1.el6_8 base

java-1.6.0-openjdk-src.x86_64 1:1.6.0.41-1.13.13.1.el6_8 base

java-1.7.0-openjdk.x86_64 1:1.7.0.261-2.6.22.1.el6_10 updates

java-1.7.0-openjdk-demo.x86_64 1:1.7.0.261-2.6.22.1.el6_10 updates

java-1.7.0-openjdk-devel.x86_64 1:1.7.0.261-2.6.22.1.el6_10 updates

java-1.7.0-openjdk-javadoc.noarch 1:1.7.0.261-2.6.22.1.el6_10 updates

java-1.7.0-openjdk-src.x86_64 1:1.7.0.261-2.6.22.1.el6_10 updates

java-1.8.0-openjdk.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-debug.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-demo.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-demo-debug.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-devel.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-devel-debug.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-headless.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-javadoc-debug.noarch 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-src.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.272.b10-0.el6_10 updates

java-clearsilver.i686 0.10.5-16.el6 epel

java-dirq.noarch 1.4-1.el6 epel

java-dirq-javadoc.noarch 1.4-1.el6 epel

java-service-wrapper.x86_64 3.2.5-23.el6 epel

java-service-wrapper-javadoc.noarch 3.2.5-23.el6 epel

java-sleep.noarch 2.1-6.el6 epel

java-sleep-javadoc.noarch 2.1-6.el6 epel

java_cup.x86_64 1:0.10k-5.el6 base

java_cup-javadoc.x86_64 1:0.10k-5.el6 base

java_cup-manual.x86_64 1:0.10k-5.el6 base

javacc.x86_64 4.1-0.5.el6 base

javacc-demo.x86_64 4.1-0.5.el6 base

javacc-manual.x86_64 4.1-0.5.el6 base

javassist.noarch 3.9.0-6.el6 base

javassist-javadoc.noarch 3.9.0-6.el6 base

javastroke.x86_64 0.5.1-33.el6 epel

javatar.noarch 2.5-5.el6 epel

javatar-javadoc.noarch 2.5-5.el6

>> yum -y install java-1.8.0-openjdk*

或手动安装:

目录

准备工作

  • 版本说明

操作系统:CentOS 8.3

Java:JDK 17

Java 17下载页面

以 x64 Compressed Archive 版本为例,获取到下载链接

下载链接:https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

登录CentOS服务器,使用 wget 命令下载JDK

## 若无wget命令,使用yum方式安装 yum install -y wget ## 查看wget版本,验证是否安装成功 wget --version ## 下载JDK wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

下载成功示意图

JDK 17 x64 Compressed Archive

成功下载到JDK安装包 jdk-17_linux-x64_bin.tar.gz

安装步骤

  • 将安装包解压缩到安装目录(以 /usr/local/java 目录为例)

## 进入安装目录 cd /usr/local/ ## 新建Java安装目录,并进入此目录 mkdir java cd java/ ## 将安装包解压缩到java目录(我的安装包下载到了/root目录下,注意自己的安装包下载位置) tar -zxvf /root/jdk-17_linux-x64_bin.tar.gz

解压后的JDK目录

## 进入目录 cd jdk-17.0.4.1/ ## 查看解压后的目录内容 ls

解压后的JDK目录内容

  • 配置环境变量

## 配置环境变量 vi /etc/profile

vi编辑器提示进入vi编辑器时为命令模式按 i 键进入编辑模式,此时可以修改文件内容按 Esc 键退出编辑模式,进入命令模式命令模式下输入 :wq 后按回车(Enter)键保存并退出

向 profile 文件中追加Java环境变量配置后保存

## set java environment JAVA_HOME=/usr/local/java/jdk-17.0.4.1 PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME PATH

使Java环境变量生效

## 重新加载profile source /etc/profile

验证Java环境

## 查看Java版本 java -version

查看Java版本

到此,Java环境安装完成;

重新运行程序:

>> java -jar gen-segment-file.jar

Hello world!

以上是关于IntelliJ IDEA中生成jar包并运行的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA导入org.json jar包并调用

如何在 IntelliJ IDEA 中生成 DAO 类

2017.5.24 在intelliJ IDEA 中生成war包

无法在 IntelliJ IDEA 中生成 JPA Hibernate 元模型类

Java使用IntelliJ IDEA创建一个基于Swing的GUI图形化程序,打包发布为jar

我们如何从可编辑的 Java 代码中生成 IntelliJ IDEA 中的序列图?