我在windows上编写Java程序已经有很长一段时间了,后来才搬到Mac上。
我正在运行下面的命令,它可以在PC上运行,但不能在Mac上运行我做错了什么。
java -classpath ./lib.patches/*:./lib.core/*:./lib.custom/* test.Test这给了我一个ClassNotFound,但是test.Test在路径中的一个jars中。
感谢大家的帮助。
好的,我已经做了进一步的调试,当我运行这个命令时
java -cp . test.Test我已经想好了!
该脚本是从PC复制的,在行的末尾返回了错误的值。
这产生了创建ClassNotFound的怪异结果。
从命令行它可以工作,但从脚本它抛出ClassNotFound -肯定是Mac的问题……
发布于 2011-10-27 03:47:59
对我来说很好。(转义以表明它与shell globbing无关,但这两种方式都可以工作。)
lucene-core在目录1中,lucene demo在目录2中,或者两者都在一个目录中:
...lucene/lucene-3.4.0/tmp $ echo $CLASSPATH
...lucene/lucene-3.4.0/tmp $ java -cp ./1/\*:./2/\* org.apache.lucene.demo.IndexFiles -docs .
Indexing to directory 'index'...
adding ./1/lucene-core-3.4.0.jar
adding ./2/lucene-demo-3.4.0.jar
adding ./index/_0.fdt
adding ./index/_0.fdx
adding ./index/write.lock
1605 total milliseconds如果您还需要基于当前目录的类文件,则应该显式地将.路径添加到类路径中。
https://stackoverflow.com/questions/7907814
复制相似问题