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!

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
IntelliJ IDEA也可以帮助我们反编译jar包生成pom工程,具体步骤如下: 1. 在IntelliJ IDEA,选择“File”菜单,然后选择“New”->“Project”选项。 2. 在弹出的“New Project”对话框,选择“Maven”项目,并勾选“Create from archetype”选项。 3. 在“Choose archetype”页面,选择“maven-archetype-quickstart”,然后点击“Next”按钮。 4. 在“Maven coordinates”页面,填写项目的基本信息,然后点击“Next”按钮。 5. 在“Project name and location”页面,选择项目的保存路径,并点击“Finish”按钮。 6. 在项目创建一个名为“lib”的文件夹,并将要反编译的jar包复制到该文件夹。 7. 在IntelliJ IDEA,选择“File”菜单,然后选择“Open”选项。 8. 在弹出的对话框,选择“lib”文件夹jar包,然后点击“OK”按钮。 9. 在项目的“Maven Projects”面板,右键点击“lib”文件夹jar包,然后选择“Generate Sources and Update Folders”选项。 10. 在弹出的对话框,选择“Decompile”选项,然后点击“OK”按钮。 11. 在“Maven Projects”面板,右键点击项目的根节点,然后选择“Reload All Maven Projects”选项。 12. 在项目的“src”目录,可以看到反编译后的源代码文件。 13. 在项目的根目录,可以看到生成的“pom.xml”文件,其包含了反编译后的jar包的依赖信息。 需要注意的是,IntelliJ IDEA反编译jar包的功能需要安装“Java Bytecode Decompiler”插件,如果没有安装该插件,则需要在“Settings”->“Plugins”菜单进行安装。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北雨南萍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值