从命令提示符使用 javac 编译 java 程序
Compiling java program using javac from command prompt
我有一台新笔记本电脑,上面安装了 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_91\bin" ..因为这里是 javac.exe
然后尝试编译我的 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
我不确定我是否正确使用了"sourcepath"...
我应该如何告诉编译器我的源文件在哪里?(我想在不设置任何类路径或任何环境变量的情况下解决这个问题)
您需要将源路径放在引号中,以便命令行将其作为单个参数处理。源路径也必须是你的目录,而不是文件:
javac -sourcepath "C:\my Data"
-sourcepath 是路径,您提供的文件名不是 java 文件,这是无效的。来自文档:
-源路径源路径
Specify the source code path to search for class or interface
definitions. As with the user class path, source path entries are
separated by colons (:) and can be directories, JAR archives, or ZIP
archives. If packages are used, the local path name within the
directory or archive must reflect the package name.
[编辑:OP 在问题中将文件名更改为 .java,正如另一个答案所指出的,它需要引号。]
路径 C:\my Data\HelloWorld.java 中有 space 因此错误。
请将路径用“”(双引号)括起来
改用这个...
javac -sourcepath "C:\my Data" "C:\my Data\HelloWorld.java"
sourcepath
参数允许您指定源文件所在的目录。根据 javac 命令行输出:
-sourcepath Specify where to find input source files
之后的参数指定要编译的实际 Java 文件。如果您的路径中有空格,您将需要在参数周围使用 "。尽可能避免在路径中使用空格以避免此问题。
我有一台新笔记本电脑,上面安装了 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_91\bin" ..因为这里是 javac.exe
然后尝试编译我的 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
我不确定我是否正确使用了"sourcepath"...
我应该如何告诉编译器我的源文件在哪里?(我想在不设置任何类路径或任何环境变量的情况下解决这个问题)
您需要将源路径放在引号中,以便命令行将其作为单个参数处理。源路径也必须是你的目录,而不是文件:
javac -sourcepath "C:\my Data"
-sourcepath 是路径,您提供的文件名不是 java 文件,这是无效的。来自文档:
-源路径源路径
Specify the source code path to search for class or interface
definitions. As with the user class path, source path entries are
separated by colons (:) and can be directories, JAR archives, or ZIP
archives. If packages are used, the local path name within the
directory or archive must reflect the package name.
[编辑:OP 在问题中将文件名更改为 .java,正如另一个答案所指出的,它需要引号。]
路径 C:\my Data\HelloWorld.java 中有 space 因此错误。
请将路径用“”(双引号)括起来
改用这个...
javac -sourcepath "C:\my Data" "C:\my Data\HelloWorld.java"
sourcepath
参数允许您指定源文件所在的目录。根据 javac 命令行输出:
-sourcepath Specify where to find input source files
之后的参数指定要编译的实际 Java 文件。如果您的路径中有空格,您将需要在参数周围使用 "。尽可能避免在路径中使用空格以避免此问题。