我试图了解-classpath
从命令行编译时该选项的工作原理。
我从父母那里尝试mydirectory
:
javac -cp mydirectory/subdir Hello.java
但是编译器说:
javac:没有源文件
-cp
( )是如何-classpath
工作的?我究竟做错了什么?
如果我从subdir
目录中制作它:
javac 你好.java
然后正确编译。
我试图了解-classpath
从命令行编译时该选项的工作原理。
我从父母那里尝试mydirectory
:
javac -cp mydirectory/subdir Hello.java
但是编译器说:
javac:没有源文件
-cp
( )是如何-classpath
工作的?我究竟做错了什么?
如果我从subdir
目录中制作它:
javac 你好.java
然后正确编译。
javac TestProgram1.java TestProgram2.java TestProgram3.java
您可以使用通配符来编译文件夹中的所有文件,如下所示:
javac *.java
如果你需要同时编译很多文件但又不想使用通配符(也许你想编译大量文件但不是一个文件夹中的所有文件),你可以创建一个参数文件,其中列出了要编译的文件。在参数文件中,您可以键入任意数量的文件名,使用空格或换行符来分隔它们。这是一个名为 TestPrograms 的参数文件,其中列出了要编译的三个文件:
TestProgram1.java
TestProgram2.java
TestProgram3.java
您可以使用 @ 字符,后跟 javac 命令行上的参数文件的名称来编译此文件中的所有程序,如下所示:
javac @TestPrograms
-cp 和 -classpath
指定在哪里可以找到用户类文件。如果您的程序使用存储在单独文件夹中的类文件,请使用此选项。
您正在编译的文件必须直接定义
例如,如果您在父文件夹中:
javac subdir/Hello.java
需要编译。
类路径允许查找编译上述定义的内容所需的 .class 文件。
例如,如果在代码中引用了“Birds”类,并且该类位于当前文件夹中名为“animals.jar”的 jar 中,该文件夹是 java 文件所在的父级,则需要此:
javac -cp animals.jar subdir/Hello.java
javac XXX.java
用于编译 java 类的命令,其中 -classpath标志可用于 java 命令。
我们通过使用运行java程序
java XXX.class
这里从 main() 函数开始,JVM 应该知道类文件在哪里。所以要指定类的路径,我们使用类路径标志
类路径链接以获取更多详细信息。
运行java程序的一些例子是
java -classpath .;yourJarFile.jar your.MainClass
java -classpath path_till_classfile/HelloWorld