每一年都奔走在自己de热爱里

愿你天黑有灯,下雨有伞

【Java 开发】windows 命令行cmd界面,运行java 程序报错情况分析和解决!

windows cmd 运行java 程序报错了 (编译通过,运行报错)

通过 java 和 javac 命令 得知,两个命令的版本不一样。因为这是因为有两个java 版本所导致的。

此时 需修改环境变量的配置。

此时我们找到 path 环境变量的配置 可以看到 配置了两个 JAVA_HOME的变量

一个JAVA_HOME 对应的是23版本,一个是后面安装的jkd8 对应的是 JAVA_HOME8这个变量,由于两者版本不一样,所以编译用的是23版本jdk ,运行java 程序走的是8版本的jdk 版本不一致导致的冲突。

解决方案:

把8版本的jdk对应的环境变量(JAVA_HOME8) 上移到 23版本(JAVA_HOME)的上面看看。保证8版本的jdk 在23版本的上面。

调整好后,点击确认。

再次运行后 发现还是报错(编译依然无问题):

此时考虑 把系统变量中的 JAVA_HOME 删除后再看看(删除后点击确认),删除jdk23版本的变量值,保留JAVA_HOME8版本变量值。

此时在进行编译后再运行看看 ,结果还是报错了

此时查看 java 和javac 版本还是不一样,此时考虑把java 8环境变量上移到第二行看看,最后点击确认。

此时到命令行发现 并无生效 两者版本还是不一样.

继续尝试 把 jdk23版本的 JAVA_HOME 变量删除再进运行看看

结果还是版本不一样,意思就是没有生效。

最后再考虑把common file 文件的环境变量删除掉(此路径对应为之前的jdk23版本)

`此时命令行 运行 javac 发现无法识别了

此时考虑把 JAVA_HOME8变量值移动到 common files 这条变量的上面,点击保存

发现还是不行,最终发现是环境变量值的格式写的有问题,重新编写环境变量配置(拆开来)最终效果如下,再运行看看。`

`最终 javac 可正常执行了!

思考..(java8版本有些配置和23版本还不太一样,貌似23版本可的环境变量值可以用; 分号连一起写。。貌似无影响 javac 可正常识别,另外这块bin的路径写绝对路径应该也是ok的)

`

posted @ 2025-03-05 18:38  一念6  阅读(131)  评论(0)    收藏  举报