我path设置都没有问题,javac运行没有问题,但是java无法运行,OSK 运行不了,calc也不行,省略其中部分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我path设置都没有问题,javac运行没有问题,但是java无法运行,OSK 运行不了,calc也不行,省略其中部分相关的知识,希望对你有一定的参考价值。

最近在学习java基础,昨天还运行的好好的,但是设置path时一不小心把java的路径覆盖在原来的path上了,之后我从我哥哥电脑复制过来,然后很多命令就不能用了我复制了一点如下

C:\Users\Administrator>help
'help' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Users\Administrator>calc
'calc' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Users\Administrator>pathPATH=SystemRoot%;C:\Windows\System32\Wbem;C:\Program;D:\JDKjava\bin;
C:\Users\Administrator>osk
'osk' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Users\Administrator>javac
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:lines,vars,source 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:none,only 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默
认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-d <目录> 指定放置生成的类文件的位置
-s <目录> 指定放置生成的源文件的位置
-implicit:none,class 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <发行版> 提供与指定发行版的源兼容性
-target <发行版> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标记> 直接将 <标记> 传递给运行时系统
-Werror 出现警告时终止编译
@<文件名> 从文件读取选项和文件名

C:\Users\Administrator>java
这个正确,字数限制,不写了

那是因为你把它本身的path删掉了,像help其实是执行windows/system32/下面文件夹。。。。的help.bat,你需要把它的环境变量加上,
解决方法:设置环境再加上
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;

我这个是win7 32位系统,如果你也是的话,可以copy我的到你的电脑path中追问

我也是win732位的,我试试,成功了选你哈

追答

一般情况下应该可以,如果不行的话有可能是因为这些是系统变量,需要重启电脑才生效。

追问

还是不行啊,我的pathD:\JDKjava\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;

追答

依help为例,应该可以,如果不行,重新打开cmd尝试,还不行,重启电脑。
原理是,你可以通过在c盘搜索help.exe,你可以看到它的路径是C:\windows\system32\help.exe,我在上面设置%SystemRoot%\system32;其实在system32下的所有命令都可以用。
像你jdk安装也是一样,你的javac.exe,以及java.exe命令在jdk\bin目录下。方法是没错的

追问

help可以了,但是osk ,clac等都不能用,十分感谢你的回答,先选你了,请求QQ帮助,QQ247526130

参考技术A 楼主解答了吗?我也想知道怎么回事,跟你遇到一样的问题。。。。。追问

看上面的,复制过去,

Java和Javac版本不一致


## 之前找过很多与Java编译运行版本不一致问题的相关解决

## 都不怎么理想
### 原因总的来说 还是环境变量的关系 偏偏 很多时候 我们反复的检查环境变量都没有问题
### 我相信我所看到的,没有问题!!
### 有时候莫名解决了 好像什么也没干 一翻环境变量 又觉得 哦~ 原来如此
### 呃*虚晃 *
### 因为第二天打开电脑 进入 cmd命令行 又™不行了 真是吐血
### 最后 我也懒得找原因了 我发现 只要以管理员身份运行powershell就没有任何题。。。。。

### 就这样用着吧 希望以后 再有人被此看到这个能快速 开始运行代码而不是在这里费时间吧   

### 当然要是有好心人热心能给我解惑留言 在此谢过

以上是关于我path设置都没有问题,javac运行没有问题,但是java无法运行,OSK 运行不了,calc也不行,省略其中部分的主要内容,如果未能解决你的问题,请参考以下文章

Java环境变量已设置,在命令提示符中输入Java可以运行,但Javac不能运行

关于win10安装javaJDK时遇到的问题

java环境变量配置问题,控制台命令‘java'可以运行,‘javac'不是内部或外部命令。

如何为javac设置PATH变量,以便我可以手动编译我的.java工作?

Java运行环境变量配置中java与javac版本不一致的解决方法

Javac不是内部或外部指令