目录
在我看来
遇到的问题
原因以及解决方法
方法一:禁止误改误删
方法二: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出现如下状况:请用方法三打开。
请大家批评指正!