【问题标题】:Java Environment VariablesJava 环境变量
【发布时间】:2016-08-11 01:38:02
【问题描述】:

所以我正在设置一切以在我的 Windows 10 计算机上编译 java,当我转到环境变量时,没有现有的 PATH,所以我添加了一个。当我在命令提示符中键入“javac”时,它能够识别它,但是当我尝试保存一个 java 文件(在记事本上作为测试)并尝试将其放在命令提示符中时,我得到“不被识别为内部或外部命令、可运行程序或批处理文件。”我所查找的有关此响应的所有内容都涉及环境变量,但我无法弄清楚我做错了什么。我的 PATH 如下所示:C:\Program Files\Java\jdk1.8.0_77\bin。我错过了什么明显的东西吗?

【问题讨论】:

  • 你能提供你在哪里设置的截图吗?
  • 不清楚你的意思是什么“但是当我尝试保存一个java文件(在记事本上作为测试)并尝试把它放在命令提示符下我得到“不被识别为内部或外部命令、可运行的程序或批处理文件。”你到底做了什么?
  • 要编译一个java源代码文件,你必须做类似的事情: javac 运行它你必须发出命令java SourceFileName。不管你认为 Java 有多强大,仅仅保存一个文件并尝试执行它是行不通的。您的 PATH 包含 shell 可以找到 javac、java 等二进制文件的目录。
  • 我输入了 C:\cd\mywork 和 C:\mywork>;dir,结果相同。
  • 您显然不懂 DOS 并且您没有编译 java 类文件,请发布一些屏幕截图并让我们知道您是否在正确的目录中和/或发布您的文件夹树的一些屏幕截图,显示清楚地知道你的 java 文件在哪里。

标签: java compilation command prompt


【解决方案1】:

这里需要在“环境变量”中设置两个变量来执行Java文件。在图像中,您可以看到第一个变量(Java_Home)定义了 jdk 在系统中的路径,第二个变量定义了 Java 可执行文件(javac.exe、java.exe、javadoc.exe 等)所在的路径.这样做,你的问题就会得到解决......

【讨论】:

  • 好的,我跟着它,现在当我使用命令提示符找到它时(javac mywork\HelloWorld.java)它说找不到文件。这是我的文件树的屏幕截图:postimg.org/image/poxpmarr3
  • 好的,我刚刚看到你的环境变量截图,之后我才知道你的错误。你已经在系统变量中设置了环境变量,而你必须在User variables for scorc 中设置它们,正如你所看到的我已经在User variables for ADITYA 中设置它们...
  • 另外,您没有使用正确的 DOS 命令.....您找不到带有命令的文件:- javac mywork\HelloWorld.java
  • 如果问题仍然存在,请发送您正在执行的操作的屏幕截图和环境变量窗口的屏幕截图..
  • 从命令提示符导航到包含您的 .java 文件的目录,例如 C:\introcs\hello,方法是在下面键入 cd 命令。 C:\Users\username>cd c:\introcs\hello 之后 thisC:\introcs\hello\> 将出现在 cmd 窗口中假设文件 HelloWorld.java 位于当前工作目录中,请在下面输入粗体 javac 命令进行编译。 C:\introcs\hello\>javac HelloWorld.java 如果一切顺利,您应该不会看到任何错误消息。
【解决方案2】:

澄清一下,您保存了您的 java 类,例如“Test.java”并尝试通过调用 Test 来通过命令提示符运行它?你能解释一下你具体做了什么吗?

您需要使用 javac 编译该类并使用 java 运行它。

【讨论】:

  • 如果您希望 OP 清楚地解释他/她的问题,那么您应该在评论中询问她。不是在答案中那样做。
  • 好吧,显然我没有足够的声誉在原始线程中发表评论。
  • 哎呀对不起...我的错...没有注意到...也许最好不要通过要求澄清来回答...因为其他人已经问过这个问题而你不需要重复:)
【解决方案3】:

根据“未识别为内部或外部命令”消息,您的 PATH 变量可能未正确设置。您需要在控制面板、系统、高级、环境变量中将 JDK bin 的完整路径添加到系统 PATH 变量中。有关详细信息,请参阅https://docs.oracle.com/javase/tutorial/essential/environment/paths.html

虽然不太可能是您描述的问题的原因,但您可能还需要设置 CLASSPATH。 PATH 变量指示可执行文件所在的位置(例如 javac.exe 和 java.exe)。 CLASSPATH 变量指示类文件所在的位置。默认的 CLASSPATH 是当前工作目录。因此,如果您从类所在的同一目录执行,则无需指定它。

运行“javac.exe yourprogram.java”来编译程序。然后运行'java yourprogram'来执行它。

【讨论】:

  • 这不是一个答案,因为用户有“不被识别为内部命令”的问题。很有可能是她的 PATH 变量有问题,或者她做错了什么。如果是 CLASSPATH 问题,那么错误会有所不同。
【解决方案4】:

如果您已经为您的计算机安装了兼容的 JDK 和 JRE,并且想知道为什么您的计算机无法将“java”和“javac”识别为内部或外部命令,那么您可能没有正确设置环境变量。

窗户方向

转到计算机 > C 盘 > 程序文件 > Java > JDK 文件

右键单击路径,然后单击“编辑地址”。复制地址后,请按照以下步骤操作。

进入控制面板>系统和安全>系统>高级系统设置>环境变量

在第二列(系统变量)中,单击“新建...”

将“变量名”设置为 JAVA_HOME

将“变量值”设置为您最近复制的值,然后单击“确定”

在您所在的位置(系统变量),找到变量“路径”并单击“编辑...”

在“变量值”下,将光标一直移动到开头并输入 %JAVA_HOME%\bin;

单击“确定”两次,然后直接右键单击桌面并单击“刷新”

最后,打开命令提示符并输入关键字“java”和“javac”

我希望这对大多数人有用。我一直在尝试解决这个问题大约一周,我找到了一个很好的解决方案,我只想分享。

【讨论】:

    猜你喜欢
    • 2010-12-12
    • 2012-03-29
    • 2016-02-03
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多