【问题标题】:Javac isn't working in windows command promptJavac 在 Windows 命令提示符下不起作用
【发布时间】:2013-07-13 23:20:52
【问题描述】:

javac not working in windows command prompt

^我尝试了这篇文章中的建议,它有点帮助,但并不完全。

我打开命令提示符,在环境变量中输入路径后输入“javac”,但它不起作用,此时我用谷歌搜索并找到了该线程。

我知道我已经关闭并重新打开了我的 cmd,但这不起作用,所以我跳过了那部分,我看到了告诉我确保 javac.exe 存在的部分,我用cmd中的“dir”命令。后记,在命令提示符的“C:\Program Files\Java\jdk1.7.0_25\bin”文件夹中,我输入了下一条建议,即

for %i in (javac.exe) do @echo %~$PATH:i

在我的命令提示符中输入此内容后,我收到消息“ECHO 已开启”。看到这个,我再次输入“javac”,这一次,它工作了。所以我决定通过退出目录并转到保存并运行 .java 文件的文件夹来测试这一点,但它再次告​​诉我

'javac' is not recognized as an internal or external command, operable program or batch file.

这令人失望。我认为只有当我在命令提示符下的 bin 文件中时它才会起作用,这很烦人,因为我不是这台计算机上的管理员,而且总是必须获得管理员权限(来自我父母)会很烦人编码。他们也永远不会给我密码。谁能帮我?提前致谢!并且为巨大的文字墙感到抱歉......

编辑:有人问“echo %path%”的输出是什么。是这样的:

C:\Windows\system32;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\

^不应该这样说吗?

编辑 2:@brano88...我想我做到了?我右键单击计算机,转到属性,转到高级系统设置,单击环境变量并转到顶部并按“新建...”,在那里,我输入变量名称作为路径,变量值作为位置bin 文件夹。这是不正确的吗?在执行此操作时,我逐步遵循了 YouTube 教程。

这个:http://www.youtube.com/watch?v=Hl-zzrqQoSE

【问题讨论】:

  • 不带引号的 "echo %path%" 的输出是什么?
  • 很明显:您没有将 JDK ("C:\Program Files\Java\jdk1.7.0_25\bin") 分配给 PATH。
  • 如果您正确观看了该视频,我相信您应该能够使用 javac,但您的路径中肯定没有它的位置。或许可以再次关注它,以确保您没有遗漏任何内容或做错任何事情。

标签: java cmd javac


【解决方案1】:

如何从 CMD 运行 .java 文件

  1. 转到您的计算机 -> C: -> 程序文件 -> Java -> jdk1.7.0_25-bin
  2. 复制路径(例如:C:\Program Files (x86)\Java\jdk1.7.0_25\bin
  3. 转到控制面板 -> 系统和安全 -> 系统高级系统 设置 -> 高级 -> 环境变量
  4. 打开环境变量屏幕并转到系统变量并查找“路径”
  5. 找到 Path 系统变量后,双击它或按编辑按钮,然后在变量值中粘贴刚刚复制的 java 中的路径,后面的最后一个值已经存在。
  6. 注意!
    • 确保不要在此字段中输入任何多余的空格,因为它不起作用;
    • 确保在粘贴路径之前有一个分号,例如:Path : ...%ANT_HOME%\bin;C:\Program Files (x86)\Java\jdk1.7.0_25\bin
  7. 注意!如果您之前尝试在 CMD 中编译 .java 文件,请关闭该 CMD 并再次打开它,因为所做的更改将仅使用新的 CMD 实例生效
  8. 转到 file.java 的位置,例如:E:\Projects,按住文件夹内的 Shift 按钮并在刚刚出现的窗口中的选项中单击鼠标右键,选择:在此处打开命令窗口李>
  9. 另一种解决方案是正常打开 CMD 并使用以下命令更改目录: cd 命令直到您到达您的文件夹
  10. CMD窗口打开后,输入:javac HelloWorld.java
  11. 注意!确保file.java 中写入的类名与文件名相同。例如,您的文件名应该是:HelloWorld.java,并且您在该文件中的类也必须是:

    class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); // Display the string. } }

否则无法编译! 如果没有显示错误信息,如果文件夹的路径再次出现在 CMD 中,当然如果 HelloWorld.class 文件现在出现在目录中,则表示成功。要检查该类型的命令 dir ,它将显示包含您当前目录的内容。

  1. 最终在 CMD 中运行文件类型:java HelloWorld
  2. 注意运行文件时不需要扩展名(你运行的文件已经有.class扩展名)

这就是它对我的工作方式!如果有什么不对的地方,请告诉我!谢谢!

【讨论】:

    【解决方案2】:

    在我的例子中,javac 不起作用只是因为在路径变量中指定 javac 的路径时,我在将分号放在上一个条目的末尾后给了空间

    【讨论】:

      【解决方案3】:

      要在命令提示符下使用 javac 而无需在每次需要将其添加到路径时输入完整位置。

      我不确定您是否可以在没有管理员权限的情况下更改它,但是在具有管理员权限的 Windows 7 上,您可以开始 -> 右键单击​​我的电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量

      然后您可以找到系统变量路径并附加到它的末尾,即 javac 的位置。

      javac 的确切位置会根据您安装的 JDK 版本而有所不同,在安装过程中,您可以选择安装位置。

      编辑:还要确保您没有以管理员身份打开 cmd。或在管理员帐户上执行该视频中的步骤。

      将变量添加到环境变量菜单的顶部,意味着它们只影响当前用户。如果有人输入管理员密码,您应该可以在普通帐户上执行这些操作。

      【讨论】:

        【解决方案4】:

        首先,是的,您确实将 JDK 添加到 PATH。但你没有正确地做到这一点。您已经将这些变量添加到 PATH:C:\Windows\system32;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\

        要添加 JDK,请在添加之前添加分号,因为您有多个路径分配给 PATH 变量。所以应该是这样的:

        C:\Windows\system32;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_25\bin

        【讨论】:

        • 我在原始路径值的 C 之前添加了一个分号,但这不起作用。然后我复制了你在那里的内容并将其作为变量值,但这也不起作用。
        • 尝试在 JDK 路径后添加分号。这是我想到的最后一件事。
        • 那也没用。我尝试使用此命令:set path:"%path%;C:\Program Files\Java\jdk1.7.0_25\bin\" 以及将整个内容而不是 bin 内容的路径,这给了我以下消息:Environment variable path: "C:\Windows\system32;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_25\bin" not defined
        • 好吧,我做到了!我使用了 set path 的东西,只是我这样做了:set Path=xxxx 而不是我以前做过的 %path% 东西。现在可以了,谢谢大家的帮助:)
        【解决方案5】:

        对于在他/她的计算机上没有管理员权限的初学者程序员,我建议使用 Eclipse IDE。

        由于您已经拥有 JDK,因此唯一需要的安装步骤不需要管理员权限。从here,您必须下载“Eclipse Standard”选项,您将获得一个非常大的 zip 存档。您可以将其提取到桌面或我的文档中。 Windows 附带了一个实用程序,可以通过直接从资源管理器中拖放来执行此操作,或者您的计算机可能安装了另一个程序(例如 WinRAR)来执行此操作。

        然后,您可以通过浏览并双击该文件从解压缩的位置运行eclipse.exe

        IDE 非常强大且一目了然。您可以创建项目、运行和调试代码,这对初学者来说非常有用。真的值得等待漫长的下载。

        【讨论】:

        • 这个问题与Eclipse没有任何关系。
        • @brano88 我正在从根本上回答这个问题。 OP 希望使用 java sans 管理员权限,而 Eclipse 是一个可行的选择,因为它可以根据需要获取 CP jar。
        猜你喜欢
        • 2010-12-13
        • 2019-01-26
        • 1970-01-01
        • 2010-11-20
        • 1970-01-01
        • 1970-01-01
        • 2012-11-15
        • 2018-06-20
        • 1970-01-01
        相关资源
        最近更新 更多