从命令提示符使用javac编译java程序

从命令提示符使用javac编译java程序,java,command-prompt,javac,Java,Command Prompt,Javac,我有一台新的笔记本电脑,上面安装了jdk1.8.0_91和jre1.8.0_91。 两者都在“C:\Program Files\Java”文件夹中。 我没有设置任何类路径或任何环境变量。 我编写了一个HelloWorld.java程序,并将其保存在“C:\my Data”文件夹中。 然后我使用cmd进入命令提示符。 然后我将当前目录更改为“C:\Program Files\Java\jdk1.8.0\U 91\bin” 然后试图编译我的HelloWorld程序,它给出了以下错误- C:\Prog

我有一台新的笔记本电脑,上面安装了jdk1.8.0_91和jre1.8.0_91。 两者都在“C:\Program Files\Java”文件夹中。 我没有设置任何类路径或任何环境变量。 我编写了一个HelloWorld.java程序,并将其保存在“C:\my Data”文件夹中。 然后我使用cmd进入命令提示符。 然后我将当前目录更改为“C:\Program Files\Java\jdk1.8.0\U 91\bin”

然后试图编译我的HelloWorld程序,它给出了以下错误-

C:\Program Files\Java\jdk1.8.0_91\bin>javac -sourcepath C:\my Data\HelloWorld.java
javac: invalid flag: Data\HelloWorld.com
Usage: javac <options> <source files>
use -help for a list of possible options
C:\ProgramFiles\Java\jdk1.8.0\u 91\bin>javac-sourcepath C:\my Data\HelloWorld.Java
javac:无效标志:Data\HelloWorld.com
用法:javac
使用-help获取可能选项的列表
我不确定是否正确使用了“sourcepath”


我应该如何告诉编译器我的源文件在哪里?(我想在不设置任何类路径或任何环境变量的情况下解决这个问题)

您需要将源路径放在引号中,以便命令行将其作为单个参数处理。源路径也必须是案例中的目录,而不是文件:

javac -sourcepath "C:\my Data"

您需要将源路径放在引号中,以便命令行将其作为单个参数处理。源路径也必须是案例中的目录,而不是文件:

javac -sourcepath "C:\my Data"

-sourcepath是一个路径,您提供的文件名不是java文件,是无效的。从文档中:

-sourcepath sourcepath


[编辑:OP将问题中的文件名更改为.java,正如另一个答案所指出的,它需要引号。]

-sourcepath是一个路径,您提供的文件名不是java文件,这是无效的。从文档中:

-sourcepath sourcepath


[编辑:OP将问题中的文件名更改为.java,正如另一个答案所指出的,它需要引号。]

路径C:\my Data\HelloWorld.java中有空格,因此出现错误


请将路径用“”括起来(双引号)

路径C:\my Data\HelloWorld.java中有空格,因此出现错误

请用“”括起路径(双引号)

使用此路径代替

javac -sourcepath "C:\my Data" "C:\my Data\HelloWorld.java"
sourcepath
参数允许您指定查找源文件的目录。根据javac命令行输出:

-sourcepath指定查找输入源文件的位置

之后的参数指定要编译的实际Java文件。考虑到路径中有空格,您需要在参数周围加上“空格”。尽可能避免在路径中加空格以避免出现此问题。

请改用此选项

javac -sourcepath "C:\my Data" "C:\my Data\HelloWorld.java"
sourcepath
参数允许您指定查找源文件的目录。根据javac命令行输出:

-sourcepath指定查找输入源文件的位置


之后的参数指定要编译的实际Java文件。如果路径中有空格,则需要在参数周围加上“圈”。尽可能避免在路径中使用空格以避免此问题。

Hi-AR,我尝试了引用,但仍然给出了。。javac:no source files用法:javac use-help有关可能选项的列表Hi-AR,我尝试了引用,但仍然给出了。。javac:no source files用法:javac use-help获取可能的选项列表感谢Anand抽出时间回答..但我使用的语法错误…这很好…javac-sourcepath“C:\my Data”“C:\my Data\HelloWorld.java”感谢Anand抽出时间回复..但这是我使用的错误语法…这很好…javac-sourcepath“C:\my Data”“C:\my Data\HelloWorld.java”嗨,Mano,当我使用java.exe执行类文件时…它又给了我一个错误…你能帮我一下吗…再来一次:)。。。C:\Program Files\Java\jdk1.8.0\u 91\bin>Java C:\myData\HelloWorld错误:无法找到或加载主类C:\myData\HelloWorld您不会这样调用它。您可以通过其完全限定的类名来调用它,例如
javacom.example.HelloWorld
。您必须用自己的类名替换我的示例类名。请记住,您可能需要将java指向类文件所在的位置,例如,
java-cp目录/where/classfiles/exist com.example.HelloWorld
Hi Mano,当我使用java.exe执行类文件时…它又给了我一个错误…您能帮我一下吗。。。C:\Program Files\Java\jdk1.8.0\u 91\bin>Java C:\myData\HelloWorld错误:无法找到或加载主类C:\myData\HelloWorld您不会这样调用它。您可以通过其完全限定的类名来调用它,例如
javacom.example.HelloWorld
。您必须用自己的类名替换我的示例类名。请记住,您可能需要将java指向类文件所在的位置,例如
java-cp目录/where/classfiles/exist com.example.HelloWorld