3

有人可以告诉我为什么 .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 选项有问题。它确实找到了我的 main()。

我想把这个程序提供给对计算机一无所知的人,所以我希望他们能够双击 .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- schemas-3.7-20101029.jar;.\libs\resolver.jar;.\libs\xbean.jar;.\libs\xbean_xpath.jar;.\libs\xmlbeans-qname.jar;.\libs\xmlpublic.jar” excelsifter.ExcelSifterController

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

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

4

1 回答 1

0

您的起始字符串对我来说看起来不错,请尝试检查您使用的库中是否还有其他依赖项,如@Said 所述。最好的方法是搜索你的 java 找不到的类,你可能会在你的类路径中没有包含的其他库中找到它的声明。

于 2011-05-11T19:53:21.543 回答