我遇到了java可以正常工作的问题,但javac不会在Windows 8中的cmd提示符上。
问题发生了,因为我忘了删除 '>' 在路径名称的末尾,即它是这样的:
'>'
C:\Program Files\Java\jdk*\bin>
假设是这样的:
C:\Program Files\Java\jdk*\bin
for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i set JAVA_HOME
这个 解决方案对我有用
当我试图将.java设为.class命令时,Javac没有工作。我通过转到C:\ Program Files(x86)\ Java \ jdk1.7.0_04 \ bin来工作,当我在那个目录上时,我键入了Javac.exe C \ Test \ test.java,它使用战术。试试吧。
我很欣赏这是一个古老的问题,但我的解决方案不是这里的答案所以发布它以防其他任何人尝试所有其余的。
在我的例子中,以前安装的Java JRE(在ProgramData / Oracle / Java中)在路径变量列表的顶部有一个路径变量。该“Oracle”路径的内容有一个java.exe而不是一个javac.exe。 我将完整的JDK路径添加到路径变量列表的顶部,在“Oracle”之前,然后它选择了javac.exe以及java。
“; C:\ Program Files \ Java \ jdk1.6.0 \ bin”有时你可能忘记在最后一条现有路径上加上分号。
将其命名为“C:\ Program Files \ Java \ jdk1.6.0_16 \ bin”。删除它将起作用的反斜杠
Windows操作系统搜索当前目录和PATH环境变量中列出的可执行程序的目录。 JDK的程序(例如Java编译器javac.exe和Java运行时java.exe)驻留在目录“\ bin”中(其中表示JDK安装目录,例如C:\ Program Files \ Java \ jdk1.8.0_xx)。您需要在PATH中包含“\ bin”目录。
要在Windows XP / Vista / 7/8中编辑PATH环境变量:
控制面板 ?系统?高级系统设置
切换到“高级”标签?环境变量
在“系统变量”中,向下滚动以选择“路径”?编辑
((现在继续阅读以下3次, 的 没有UNDO 强> ))
在“变量值”字段中,INSERT“c:\ Program Files \ Java \ jdk1.8.0_xx \ bin”(将xx替换为升级号,并验证这是您的JDK的二进制目录!!!)在所有现有的FRONT中目录,后跟一个分号(;),它将JDK的二进制目录与其余现有目录分开。 不要删除任何现有条目;否则,某些现有应用程序可能无法运行。
Variable name : PATH Variable value : c:\Program Files\Java\jdk1.8.0_xx\bin;[existing entries...]
经过漫长的谷歌,我才知道javac.exe必须在里面 的 JDK 强> (C:\ Program Files \ Java \ jdk(版本号)\ bin)不在里面 的 JRE 强> (C:\ Program Files(x86)\ Java \ jre7 \ bin) 的 “JRE没有附带编译器。它(JRE)只是一个Java运行时环境。你需要的是Java开发工具包。” 强> 为了使用编译器javac
如果你将bin指向jre,javac将无法工作
要在cmd中使用javac,必须在系统中安装JDK ...
的 对于javac路径 强>
的 path = C:\ Program Files(x86)\ Java \ jre7 \ bin 强> 这是错的
的 path = C:\ Program Files \ Java \ jdk(版本号)\ bin 强> 这是对的
确保“javac.exe”在你的内部 的 “C:\ Program Files \ Java \ jdk(版本号)\ bin” 强>
不要混淆JRE和JDK两者完全不同
如果您没有JDK请从此链接下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html
JDK VS JRE的引用线程 JDK和JRE有什么区别?
试试这里的解决方案: http://techdem.centerkey.com/2009/05/javahome-command-script.html
这些更改非常强大 - 就像升级JDK或JRE一样,因为没有硬编码路径。
快速解决方案(如果您不想阅读博客)是
C:\>for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i C:\>set PATH=%PATH%;%JAVA_HOME%
然后,您可以将这些行添加到启动/登录脚本中。
仅为管理员帐户设置路径。因此,如果您尚未启动,则以管理员身份启动命令提示符非常重要。
我只需要这样做就可以在Windows 7 64上运行。
打开命令提示符(cmd.exe)并键入:
set CLASSPATH=C:\Program Files\Java\jdk1.7.0_01\bin
确保重新打开所有正在运行的命令提示符Windows以更新环境变量。
更改文件夹“jdk1.7.0_45”“jdk1_7_0_60”并更新Windows环境中的路径。否则,路径会忽略前面的代表隐藏文件的点,因此文件夹不会显示在PATH字符串中。
我在这个标题中发布了同样的问题。 Java可以工作,但是 javac 不会在Windows命令提示符下( cmd.exe )。
javac
cmd.exe
对我来说,只是我在添加时放置了一个空格 C:\Program Files\Java\jdk1.8.0\bin 到了我的结尾 %PATH% 环境变量。 删除之间的空间 ; 和下一个文件路径。
C:\Program Files\Java\jdk1.8.0\bin
%PATH%
;
我知道这可能不是你的具体错误,但我曾经在我的路径中有一个领先的空间,java会工作,但javac不会。
为了它的价值,我提供了圣人的建议:“仔细检查你的道路”。
好吧,总是情况不是这样,但我们很多人在过去都犯过这个错误,其中很少人仍然没有意识到这一点,也就是说,每当你追加任何环境变量的路径(任何路径)时,你很可能在“分号”之后立即击中空格键(正如您通常所说的那样,在“编辑”中键入“句号”之后)。
这将在路径中创建一个前导空格,例如“C:\ Program Files \ Java \ jdk1.6.0 \ bin”,因此系统将找不到“javac.exe”。
确保Path变量中的路径之间不允许使用空格(空格)。我的问题是我有空白区域,我相信Windows将其视为NULL并且没有读取我的Java路径。