java - 'javac' 无法识别。.
问题描述
我想编译我在 VS Code 中制作的程序,但我不能,因为据称
'javac' 不是内部或外部命令、可运行程序或批处理文件。
做一些搜索,我觉得它应该可以工作:
- 通过所有必要的扩展,我在 VS Code 的用户设置中设置了 java.home 以覆盖环境变量:
"java.home":"C:\\Program Files\\Java\\jdk1.8.0_181\\bin"
那个没有用,但我也试过没有“\\bin”,也没有运气。
- 我尝试将 JAVA_HOME 和 JDK_HOME 设置为上面列出的相同路径,并尝试包括 \bin 而不是。两者都没有工作
- 当我在命令提示符下执行“where java”或“java -version”时没有出现 JDK/Javac(我在 Windows 8.1 上运行)
我使用命令提示符导航到 javac 文件,唉,这是唯一有效的已知方法。(但是,如果我在其他地方更改目录,javac 将不起作用。)我该怎么办?为什么会这样?
解决方案
JAVA_HOME
应该指向安装 JDK 的路径。这是:C:\Program Files\Java\jdk1.8.0_181。之后,您应该编辑PATH
环境变量以添加以下条目。
视窗:
PATH=%JAVA_HOME%\bin;<rest of current PATH value>
*-nix 系统(Linux、Mac):
export PATH=$JAVA_HOME/bin:$PATH
PATH 的粗略解释:是负责通过命令行使可执行文件可用的系统环境变量。这就是为什么它的 value 需要包含bin
里面的文件夹JAVA_HOME
,而JAVA_HOME
value 是路径(你可以更新它以指向不同的 JDK)。
更新 PATH 的值后,您可以打开一个终端(在 Windows 中为 cmd)并输入:
javac -version
你应该看到这样的输出:
javac 1.8.0_181
现在javac
任何应用程序都可以使用它,例如 VS Code。
推荐阅读
- wpf - 是否可以在 WPF 中的 Trigger.EnterActions 和 Trigger.ExitActions 中使用 setter?
- graphql - Apollo v3 GraphQL 订阅错误:必须提供文档
- c - 我可以使用 gdb 编辑代码行吗?是否也可以在同一个调试会话中保存到实际的源文件和头文件?linux
- .net - 改变当前文化
- javascript - NestJS - 预期未定义为 GraphQL 模式
- c++ - 如何解决这个一个或多个多重定义符号发现错误?
- java - 如何将wsdl文件转换为java文件
- c - C编程语言示例1.9的难点
- mysql - mysql group by 从总和中删除结果
- javascript - “为什么”JavaScript 提升“let”和“const”变量并将它们保持在临时区域中?那么这种行为有什么好处呢?