java -cp on Windows问题

时间:2011-05-11 10:54:10

标签: java batch-file classpath classnotfoundexception

有人可以告诉我为什么.bat文件中的这个java命令不会在WinXP上运行我的java程序?我将所有jar文件放在名为lib的文件夹中,将我的类文件放在包文件夹mypackage中。

java -cp ".;.\lib\poi-3.7-20101029.jar;.\lib\jsr173_1.0_api.jar;..." mypackage.MyClassWithMain

我尝试过各种各样的事情但无济于事。一旦程序尝试使用jar文件中的某些类,我就会收到ClassNotFound错误。所以,我认为我的-cp选项有问题。它确实找到了我的主()。

我想把这个程序交给那些不了解计算机的人,所以我希望他们能够双击.bat文件然后去。

我在mac上写了一切没有太大问题。

我敢打赌主持人会为这个问题打我的头脑,但我确实广泛搜索了这个答案。

谢谢! 约翰

抱歉,我应该放入整个命令行:

java -cp“.;。\ libs \ jsr173_1.0_api.jar;。\ libs \ poi-3.7-20101029.jar;。\ libs \ poi-ooxml-3.7-20101029.jar;。\ libs \ poi -ooxml-架构 - 3.7-20101029.jar; \库\ resolver.jar; \库\ xbean.jar; \库\ xbean_xpath.jar; \库\的xmlbeans-qname.jar; \库\ xmlpublic .jar“excelsifter.ExcelSifterController

这一切都在一条线上。我试过/而不是\,但这似乎没有用。我能找到的一切都表明,对于Windows,你必须使用反斜杠。 据我所知,所有的依赖都在这里。当我使用基本相同的命令时,至少我的mac不会抱怨。

包含我的.bat文件的目录包含excelsifter包(名为excelsifter的文件夹)和包含所有jar文件的文件夹libs。 谢谢,约翰

2 个答案:

答案 0 :(得分:0)

POI依赖哪些库?对我来说,一个poi.jar看起来太赤裸了......没有找到这个类的名字是什么?尝试在其他库中搜索它。

答案 1 :(得分:0)

您的起始字符串对我来说没问题,请尝试检查您在@Said中提到的库中是否存在其他依赖项。最好的方法是搜索你的java找不到的类,可能你会在你的类路径中没有包含的其他库中找到它。