3

如果我将 : 放在类路径的末尾,我的应用程序只会开始记录到 log4j。我已经在类路径中有属性文件和 jar,所以我不确定发生了什么。用冒号结束类路径有什么作用?启动命令因此变成这样:

java -cp path-to-log4j.properties:bunch:of:other:stuff: app

如果我去掉最后一个冒号,它就会停止记录,就好像它找不到 log4j。我的问题是,最后一个冒号实际上在做什么,就像它添加到类路径中的哪个目录一样?

4

2 回答 2

2

通常你应该把类路径放在引号中 -cp "path:path2"。

编辑:冒号可能会添加当前目录。

EDIT2:不能将文件(jar 文件除外)直接添加到类路径中。只有目录。今天读完^^

于 2013-02-20T12:05:31.910 回答
0

对类似情况感到惊讶:

不工作:

java -classpath swt.jar org.ivan.swt.SWTHelloWorld

在职的:

java -classpath swt.jar: org.ivan.swt.SWTHelloWorld

也在工作:

java -classpath :swt.jar org.ivan.swt.SWTHelloWorld

(注意 swt.jar 开头和结尾的冒号)

Linux 上的 Java(TM) SE 运行时环境(内部版本 1.8.0_51-b16)

于 2017-07-16T12:36:49.873 回答