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

news/2025/3/5 18:42:57/文章来源:https://www.cnblogs.com/zeng666/p/18753256

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的)

`

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025/3/4 - Vue3学习--基础创建教程学习笔记

基于VUE创建:创建流程VScode实例-->编写APP组件

sql(3)多表查询

1.内连接查询(交集)2.外连接左外连接会全显示表一,右外连接会全显示表二,然后都显示交集部分。 3.子查询(嵌套查询) 行子查询表子查询注:给表起别名 select * from tb_emp e,tb_dept d where e.dept_id=d.id;

EndNote 21软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【042】三位数字即可免费获取分享链接,无广告拒绝套路;2、安装教程双击Setup.exe安装,弹窗安装对话框点击Next选择I would like a free ftrial ,点击Next点击Next选择I accept ,点击Next默认Next选择安装路径,建议C盘之外…

AxMath 2.6软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【041】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程双击安装,弹窗安装对话框Chinese - 点击OK按钮选择组件,默认方式,点击下一步等待进度安装,安装完成,点击完成按钮安装完成,点击关闭,不更新补丁操…

台达 hmi 人机 B10E615 备份 上传 二娃备忘 erwa.cn

台达DOP-B系列程序的上载下载操作说明 1、传输时要先进入SYS界面,在屏幕的空白处长按3秒以上,弹出如下图:确定点 系统设置-MISC 改为USBCOMMMODE:1进入 上载下载标准模式选择COM1到这个界面就可以上载下载程序了。 2、通讯电缆的制作和连接: 电缆有2种,一种是USB方口打印…

Sentinel整合Nacos实现持久化

想要实现Sentinel持久化,首先我们得思考为什么需要持久化?通俗来说就是:每次服务启动,都得重新去Sentinel dashboard中配置Sentinel的各种规则。例如流量规则、热点规则、熔断规则、授权规则。当服务数量众多时,一旦服务重新启动,所有规则都被清空,需要重新为每一个服务…

数码管驱动原厂-LED显示驱动VK1616 SOP16/DIP16抗干扰数显驱动芯片【FAE技术支持】

产品品牌:永嘉微电/VINKA 产品型号:VK1616 封装形式:SOP16/DIP16 概述 VK1616是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据 锁存器、LED 驱动等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持7SEGx4GRID 的点阵LED显示面板。采用SOP16/DIP16的封装…

二代基因测序芯片

基因测序(包括DNA测序和RNA测序)是研究生命信息的重要方法之一。DNA测序(DNA sequencing,或译DNA定序)是指分析特定DNA片段的碱基序列, 也就是腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)与鸟嘌呤(G)的排列方式。同理,RNA测序是指分析特定RNA片段的碱基序列,也就是腺嘌呤(A)、鸟嘌呤…

二级缓存服务器异常事故记录

1、背景 项目有一张基础表查询量很大,开始了hibernate的二级缓存,使用外部服务器memcached单独存储。 中间件memcached服务需要做迁移。双主架构,一台迁移,另一台提供服务。迁移过程中有一个应用的一个节点连接不上memcached服务器。 2、经过 19:13-19:18,cpu使用率直线上…

二代基因测序芯片(Flowcell)调研-不同厂家产品的键合工艺

厂家1: 美国Illumina Flowcell:芯片结构: 1、Random FC:代表型如Nextseq550,基板-中间层(Dupont TPI,炭黑浸渍或苯基叠氮修饰)-盖板,IR激光键合 2、Patterned FC:代表如Hiseq2000,基板-树脂纳米孔阵列-中间层(Dupont TPI)-树脂纳米孔阵列-盖板,IR激光键合 3、Tes…

Windows 提权-PrintNightmare

本文通过 Google 翻译 PrintNightmare – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0 前言 1 CVE-2021-34527 – PrintNightmare RCE(准 远程代码执行)1.1 远程枚举 Print Spooler 服务 1.2 行刑…