mac出现java程序运行版本不一致

news2024/11/22 11:29:02

mac出现java程序运行版本不一致

    • Burpsuite_pro_v2022版本
    • Burpsuite_pro_v2023.6.2版本
    • 解决方案:

Burpsuite_pro_v2022版本

在安装BurpSuite的时候:
执行启动程序:

java -noverify -javaagent:BurpSuiteLoader.jar -jar burpsuite_pro.jar

运行java程序jar包的时候报错:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: burp/StartBurp has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0

在这里插入图片描述

原因是编译这个jar包burpsuite_pro.jar用的java运行时环境是53.0,而我现在电脑上的java运行时环境是52.0,大致的对应关系如下:

49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17

所以也就是编译burpsuite_pro.jar用的JRE是java9,而我现在电脑上的java运行时环境是java8,用命令查看一下

java -version 查看当前Java的jdk版本
javac -version 查看当前Java的jre版本

在这里插入图片描述

果然是jdk1.8

Burpsuite_pro_v2023.6.2版本

不过刚开始我还不知道是burpsuite_pro.jar和我们电脑上的JRE运行版本不一致导致的问题
又下载了最新版的burpsuite_pro_v2023.6.2版本:

java -noverify -javaagent:BurpSuiteLoader.jar -jar burpsuite_pro_v2023.6.2.jar

执行启动命令的时候同样报错了

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: burp/StartBurp has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

在这里插入图片描述

不过这次原因是编译这个jar包burpsuite_pro.jar用的java运行时环境是61.0,而我现在电脑上的java运行时环境是52.0
和前面的原因类似,也再次证实这个报错问题是由JRE编译、运行环境不一致引起的。

解决方案:

接下来就是下载对应版本的JDK到自己的电脑上:

49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17

国内各个版本的下载地址:JDKhttp://www.codebaoku.com/jdk/jdk-index.html
√

我这里下载的是JDK17版本
在这里插入图片描述

mac下的JDK都默认安装在这个目录下:/Library/Java/JavaVirtualMachines/
然后电脑上就有不同版本的JDK了
接下来我们只需要在配置文件中设置选择使用不同版本的JDK就好了
如果当前使用的shell是zsh就编辑.zshrc文件,如果是bash就编辑.bash_profile文件

open .bash_profile
JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk/Contents/Home
JAVA_HOME_11=/Users/Kevin/development/tools/jdk-11.0.16.1.jdk/Contents/Home
JAVA_HOME_17=/Users/Kevin/development/tools/jdk-17.0.4.1.jdk/Contents/Home
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME=$JAVA_HOME_8
export JRE_HOME
export PATH
export CLASSPATH
 
alias jdk8="export JAVA_HOME=$JAVA_HOME_8"
alias jdk11="export JAVA_HOME=$JAVA_HOME_11"
alias jdk17="export JAVA_HOME=$JAVA_HOME_17"

在这里插入图片描述

然后保存文件让它生效:

source .bash_profile

在这里插入图片描述

之后再

java -version 查看当前Java的jdk版本
javac -version 查看当前Java的jre版本

在这里插入图片描述

已经使用的是JDK17了和JRE17了
然后在当前终端再执行启动命令:

java -noverify -javaagent:BurpSuiteLoader.jar -jar burpsuite_pro_v2023.6.2.jar

在这里插入图片描述

就已经能运行程序了。

题外话:
JDK环境变量生效之后,当前终端会立即生效,如果之前同时打开了多个终端,其他终端可能还是修改之前的环境变量JDK版本,重启终端之后就好了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/874328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows Hyper-V Ubuntu 22.04 LTS安装

文章目录 UbuntuHyper-V启动 Ubuntu 下载Ubuntu-Desktop,这是个iso文件。 Hyper-V 启用虚拟化支持 services.msc 打开服务列表,关注Hyper-V服务是否启动 打开管理器 创建虚拟机 右键管理器》连接到服务器》连接到本地 快速创建 用到下载的ubu…

打造企业或者个人IP引流法

打造企业或者个人IP引流法. 大家好,我是百收网SEO编辑:狂潮老师,今天给大家分享企业IP打造的方法 首先我们想让人知道你的企业叫什么,怎么找到你的企业 这个时候我们就需要去各大平台发布信息,客户想了解直接去搜索…

JAVA多线程案例——实现三个窗口卖票功能

一、需求分析 利用多线程的思想模拟三个窗口售票员卖30张票的功能: 我们采用线程对象来模拟售票窗口,实现多个窗口同时卖票, 采用 Runnable 接口子类来模拟票数。 二、代码实现 1、继承 Thread 类的方式 class TicketWindow extends Threa…

【Unity】VS Code 没有智能提示 Unity 中的类

正常来说,VS Code中会对部分输入类名进行提示,如下图所述 假如你从Unity 中进入 VS Code后发现没有提示相关 Unity的类,可能是 Unity 中 有关于 VS Code的相关Package 没有跟着 VS Code升级到最新版本。 点击Unity Windows 下拉框中的 Pac…

分布式监控平台—zabbix

前言一、zabbix概述1.1 什么是zabbix1.2 zabbix的监控原理1.3 zabbix常见五个应用程序1.4 zabbix的监控模式1.5 监控架构1.5.1 C/S(server—client)1.5.2 server—proxy—client1.5.3 master—node—client 二、部署zabbix2.1 部署 zabbix server 端2.2 …

1.2 初识输入输出

博主介绍:爱打游戏的计算机专业学生 博主主页:夏驰和徐策 所属专栏:夏驰和徐策带你从零开始学C 前言: C语言并未定义任何输入输出 (IO) 语句,取而代之,包 含了一个全面的标准库 (standard library) 来 提…

分支语句与循环语句(2)

3.3 do...while()循环 3.3.1 do语句的语法: do 循环语句; while(表达式); 3.3.2执行流程图: 3.3.3 do语句的特点 循环至少执行一次,使用的场景有限,所以不是经常使用。 打印1-10的整数: #define _CRT_SECURE_NO_WA…

8年经验之谈 —— 如何做安全测试?

作为一名专业的安全测试人员,以下是一些关键步骤,可以帮助你更好地进行安全测试: 1. 了解应用程序: 深入了解应用程序的功能、架构和技术栈。这有助于你理解潜在的安全风险和漏洞。 2. 制定测试计划: 创建一个详细的测试计划,确…

【系统软件03】centos7安装和使用node-v18.16.0(centos7升级glibc 2.28)

【系统软件03】centos7安装和使用node-v18.16.0(centos7升级glibc 2.28) 前言:本文是解决node 18.16.0的依赖问题,具体的node安装流程,可以参考我的另外一篇文章。一、下载node v18.16.0二、下载glibc2.28(…

如何轻松注册企业邮箱?快速掌握超简单的注册技巧!

随着互联网的发展,越来越多的企业开始使用电子邮件作为通信工具。企业邮箱不仅可以提高企业的工作效率,还可以使企业通信更加便捷、保密性更高。那么,企业邮箱怎么注册申请呢?下面我们来详细介绍一下。 第一步:选择邮箱…

百日筑基篇——python爬虫学习(一)

百日筑基篇——python爬虫学习(一) 文章目录 前言一、python爬虫介绍二、URL管理器三、所需基础模块的介绍1. requests2. BeautifulSoup1. HTML介绍2. 网页解析器 四、实操1. 代码展示2. 代码解释1. 将大文件划分为小的文件2. 获得结果页面的url3. 获取结…

第05天 SpringBoot自动配置原理

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:每天一个知识点 ✨特色专栏&#xff1a…

数学分析:曲线曲面积分

这一章还是很重要的,可以看到为什么dt1^dt2和dt1dt2是一样的。 可以看到,核心还是黎曼和,我们把两种微分的黎曼和都列出来,并且证明两个相等,即可。 这里要注意,微分形式的积分,在黎曼和的情况…

【解析postman工具的使用(基础篇】

postman前端请求详解 主界面1.常见类型的接口请求1.1 查询参数的接口请求1.1.1 什么是查询参数?1.1.2 postman如何请求 1.2 ❤表单类型的接口请求1.2.1 复习下http请求1.2.2❤ 什么是表单 1.3 上传文件的表单请求1.4❤ json类型的接口请求 2. 响应接口数据分析2.1 postman的响…

解决校园网使用vmware桥接模式,虚拟机与物理机互相ping通,但是虚拟机ping不通百度的问题

遇到的问题 使用校园网时,桥接模式下,物理机可以ping通虚拟机,但是虚拟机ping不通主机 解决方法 在物理机中查看网络相关信息 ipconfig 修改虚拟机网卡信息 vim /etc/sysconfig/network-scripts/ifcfg-ens33 注意 /ifcfg-ens33需要根据…

理解ConcurrentSkipListMap(有点类似于并发的TreeMap)

是一个分层的结构。 从最上面开始查找,最后层层往下查。 插入和删除有可能会引起节点Level的变更。 key是有序的,因此可以看做是并发的TreeMap

Docker常规安装简介

Docker常规安装简介 1、总体步骤:服务端口映射 搜索镜像 拉取镜像 查看镜像 启动镜像 停止容器 移除容器 2、安装tomcat docker hub上面查找tomcat镜像 docker search tomcat 从docker hub上拉取tomcat镜像到本地 docker pull tomcat docker images查看是否有拉…

2023年国赛数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…

电机故障诊断(python程序,模型为MSCNN结合LSTM结合注意力机制模型,有注释)

代码运行环境要求:TensorFlow版本>2.4.0,python版本>3.6.0 1.电机常见的故障类型有以下几种: 轴承故障:轴承是电机运转时最容易受损的部件之一。常见故障包括磨损、疲劳、过热和润滑不良,这些问题可能导致噪音增…

97. Interleaving String 72. Edit Distance 121. 122. 123

​​​​​​97. Interleaving String 72. Edit Distance 一个bottomup(棋盘从右下角外围逼近[0,0])如果横轴是string1的index i,纵轴string2的index j,那么,很奇妙的是i和j一起(从右下角的格子看&#xf…