第二个命令是否将当前路径添加为另一个搜索路径?
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
Run Code Online (Sandbox Code Playgroud)
这是通过冒号分隔多个路径的正确方法吗?
默认情况下,当前路径是否总是在ClassPath中,因此不需要显式指定?
谢谢.
Run Code Online (Sandbox Code Playgroud)-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 上,路径分隔符是;分号。
在其他平台上,分隔符是冒号:。
这符合各种平台上的标准路径类系统。
如果添加的类路径,然后电流路径省略,这是一个非常非常不愉快的和意想不到的行为:(
此外,要添加当前路径,我发现(至少对于ubuntu而言)添加classpath 不够,.但是您必须添加./*
例如(这将不起作用)
java -ea -cp ".:lib/*" org.testng.TestNG suites/regression.xml
将不,如果你有在当前路径中的JAR文件工作
正确的是
java -ea -cp "./*:lib/*" org.testng.TestNG suites/regression.xml
我希望没人枪杀自己或心脏病发作!
| 归档时间: |
|
| 查看次数: |
9990 次 |
| 最近记录: |