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出现如下状况:请用方法三打开。

请大家批评指正!

JDK8.0是Java虚拟机的最新版本,加入了很多新的特性。Oracle甲骨文公司Oracle公司如期发布了Java 8正式版!现在你就可以下载Java 8正式版了,同期发布的还有JDK 8。JDK8的特性已经基本准备就绪,虽然一些特性还不是特别完善,但开发人员已经开始庆祝这一里程碑事件了。 据官方公告介绍:Java 8是款革命性开发平台,其全面升级现有Java编程模式,带来一项协同开发的JVM、 Java语言以及库。Java 8平台集合生产力、易用性、多语种编程、更高安全性和稳定性等特色。 JDKJava Development Kit)是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK作为JAVA开发的环境,运行JAVA程序不可缺少的环境,不管是做JAVA开发还是做安卓开发,都必须在电脑上安装JDK。 Oracle甲骨文公司Oracle公司推出了Java SE 8 Update 51 (JDK 8u51) 最新版!该版更新主要例行更新数据、安全补丁、修复BUG! Java SE 8自去年发布以来,应用率已创造了纪录。官方公告介绍:Java 8是款革命性开发平台,其全面升级现有Java编程模式,带来一项协同开发的J VM、Java语言以及库。Java 8平台集合生产力、易用性、多语种编程、更高安全性和稳定性等特色。 经过2年半的努力、屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本。Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码;其次,新加入的Nashorn引擎也使得Java程序可以和JavaScript代码互操作;再者,新的日期时间API、GC改进、并发改进也相当令人期待。另外,原本要加入Java 8的Jigsaw项目(标准模块系统)由于开发时间关系,被推迟到了Java 9中,不过Java 8已经在朝着这个方向努力了。 Java SE 8 有哪些主要特性? Lambda表达式,一种新的语言特性,能够使功能作为方法参数或将代码作为数据; 显著增加和完善Java语言特性,增添标准库,包括默认方法,新的java.util.stream包及 Date-Time API; Compact Profiles包含 Java SE平台预定义子集,使程序员无需部署在整个平台,可运行在小型设备上; 安全性包括更新可Java加密体系架构;限制doPrivileged;SSL/TLS Server Name Indication (SNI) Extension以及增强密钥库; JavaFX更新文档 新的JavaScript引擎Nashorn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值