当前位置: 首页 > news >正文

jdk版本更换以及遇到的问题略谈(以jdk1.8和jdk11为例)

目录

在我看来

遇到的问题

原因以及解决方法

方法一:禁止误改误删

方法二:bat文件驱动运行

方法三:cmd命令

方法四:修改注册表(不推荐)


最近在进行漏洞复现(shiro550)的时候,用到一个工具,shiro_attack-2.2,下载之后,百般调试修改都不能运行,后来才发现是我的jdk版本不适配,我当时的java-jdk版本是jdk11,听大佬说更换为java-jdk1.8之后就可以使用了,于是我开始下载新的jdk。(以下简称jdk)

下载之后,环境变量该如何配置呢?不管是jdk1.8还是jdk11,我看了很多篇,说的都不一样,有的jdk11要配置%JAVA_HOME%\bin以及%JAVA_HOME%\jre\bin,有的却不用,只需前者即可;有的配置了CLASSPATH,有的却说不用配置……我查阅了大量资料,最终得出了如下结论:


在我看来

所有的jdk环境变量的配置都无非这三部分(都在下方系统变量(S)中配置):

CLASSPATH

JAVA_HOME

PATH

CLASSPATH:

从JDK 1.5开始,用户就不再需要明确配置classpath环境变量。这一变化主要得益于Java平台在JDK 1.5及以后版本中引入了自动类加载机制,使得系统能够自动处理类路径,进一步减少了配置classpath的必要性。在JDK 1.5之前,配置classpath环境变量是为了让Java解释器知道到哪里去找标准类库和其他用户定义的类文件。然而,随着Java平台的发展,Java提供了更好的类路径解析机制,从而简化了开发者的配置工作。

jdk1.5之前的,如下配置:

变量值为:

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

记住前面有一个点,复制别忘了。

JAVA_HOME:

这个不管是jdk1.8,还是jdk11,都要配置,主要存放jdk路径,后续想变更jdk版本,只要将JAVA_HOME值切换成对应版本即可。

PATH:

PATH里面主要配置两个:

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin

其中的%JAVA_HOME%就是咱们上面配置的jdk路径,所以%JAVA_HOME%\bin即 为:D:\Java\jdk-11\bin

%JAVA_HOME%\bin这个是每个jdk都要配置的。

至于%JAVA_HOME%\jre\bin分为两种情况:

低版本(jdk1.8为例):是需要配置这个jre环境变量的。

高版本(jdk11为例):众说纷纭,百度ai是这样解释的:

我以自己电脑做实试验,删除%JAVA_HOME%\jre\bin后,所有使用jdk的工具都没影响(包括一些jar工具和idea等),所有我觉得这个可有可无(个人观点),当然,有这个jre环境变量肯定更保险一点。

接下来说一些更换jdk后出现的问题以及解决方法


遇到的问题

1.一些用java写的,打包成jar的工具无法使用(比如下面的shiro检测工具或是stegsolve.jar,burpsuite等),并且原来的咖啡标志也消失不见。

(看见那个选择一个应用以打开此.jar文件就烦!)

2.有咖啡标志但是打不开。

有问题的:

解决问题后的:

原因以及解决方法

方法一:禁止误改误删

那么这很有可能是你误删了一些jdk或是jre的一两个小的(你以为并无用处)配置文件,或者!!!你仅仅只是改了jdk目录下某个文件夹的名字(就像我一样)

为了美观,我把jre1.8.0_421改为jre,等jar工具不能用了才后知后觉。将名字改回去,那些工具立马又能用了。

方法二:bat文件驱动运行

如果你忘记改了哪个,或是没改也突然打不开了,那么可以尝试这一个方法:

桌面新建 runjar.bat 文件(可以新建txt文件,写入命令后再改后缀名为.bat)

写入命令:

@echo off
java -jar %1
pause

然后默认.jar文件打开方式为  runjar.bat。(设置-应用-默认应用)

方法三:cmd命令

在jar工具所在目录打开cmd,用cmd命令打开该jar工具

命令:

java -jar xxx.jar

xxx为文件名。

方法四:修改注册表(不推荐)

网上说的也是良莠不齐,我就不再这里赘述了(水平有限嘿嘿)。

最后,如果更改jdk后,burpsuite出现如下状况:请用方法三打开。

请大家批评指正!


http://www.mrgr.cn/news/31272.html

相关文章:

  • 如何来写一份开题报告?
  • OpenCV特征检测(6)对初步检测到的角点位置进行亚像素级别的精炼函数cornerSubPix()的使用
  • Live800:从心出发,以情动人:构建深度客户服务文化
  • (c++)线程的创建、互斥锁的使用、线程数组
  • 网络编程练习:UDP聊天室
  • 虚拟机安装nginx需要注意的一些事项
  • Linux 进程3
  • 5G技术对IT行业的影响及未来发展
  • 操作系统 | 学习笔记 | | 王道 | 5.2 设备独立软件
  • OpenAi assistant run always fails when called from PHP
  • 基于嵌入式的智能物流柜( 触摸屏/0.96寸oled屏)
  • pytorch快速入门(一)—— 基本工具及平台介绍
  • Bigemap GIS Office 2024注册机 全能版地图下载软件
  • nginx常用配置及调优
  • 力扣题解(统计特殊整数)
  • 使用adb命令进行内存测试
  • Jenkins自动化部署后端项目看这篇就够了
  • 万魔头戴式耳机怎么样?万魔、西圣、JBL三款旗舰机型激战评测!
  • Vue 修饰符 | 指令 区别
  • 【秋招笔试】09.20-58同城秋招(已改编)-三语言题解