第二个命令会将当前路径添加为另一个搜索路径吗?
javac -cp /home/tim/program_files/programming/java/junit-4.11.jar MyTest.java
javac -cp .:/home/tim/program_files/programming/java/junit-4.11.jar MyTest.java
用冒号分隔多个路径,是正确的方法吗?
当前路径默认总是在ClassPath中,因此无需显式指定,是这样吗?
谢谢。
从 Oracle 的 页面 关于设置类路径:
默认的类路径是当前目录。设置 CLASSPATH 变量或使用
-classpath
命令行选项覆盖了默认设置,所以如果你想将当前目录包含在搜索路径中,你必须在新设置中包含 "."。
在 Windows 中使用 ;
,在类Unix操作系统中使用 :
作为多个路径的分隔符。
.
是不够的,而你必须添加 ./*
例如(这个不会起作用)
java -ea -cp ".:lib/*" org.testng.TestNG suites/regression.xml
如果你的当前路径中有一个jar文件,它不会起作用java -ea -cp "./*:lib/*" org.testng.TestNG suites/regression.xml
我希望没有人会开枪或心脏病发作!以下翻译内容来自帮助页面(适用于Windows):
-classpath classpath
-cp classpath
Specifies a list of directories, JAR files, and ZIP archives to
search for class files. Separate class path entries with semicolons
(;). Specifying -classpath or -cp overrides any setting of the
CLASSPATH environment variable.
If -classpath and -cp are not used and CLASSPATH is not set, then the
user class path consists of the current directory (.).
请注意,Windows平台上路径的分隔符是分号;
,而在其他平台上是冒号:
。这符合各个平台上标准的路径系统。
java -ea -cp "./*" ...
” 成了我的救命稻草。默认设置甚至不能给你 Scala 3.2.2 的预期行为。谢谢! - 404