2011-05-11 80 views
2

有人能告诉我为什么在.bat文件中这个java命令不会在WinXP上运行我的java程序吗?我将所有jar文件放在一个名为lib的文件夹中,并将我的类文件放在一个包文件夹mypackage中。在Windows上的java -cp问题

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

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

我想给这个程序给一个不知道计算机事情的人,所以我希望他们能够双击.bat文件并去。

我在Mac上写了一切都没有太多问题。

我敢打赌,主持人打算为这个问题打耳光,但我确实搜索了大量的答案。

谢谢你! 约翰

对不起,我应该把已经在整个命令行:。

java命令”; \库\ jsr173_1.0_api.jar; \库\ POI-3.7-20101029.jar; \库\ POI-OOXML-3.7-20101029.jar; \库\ POI-OOXML-架构 - 3.7-20101029.jar; \库\ resolver.jar; \库\ xbean.jar; \库\ xbean_xpath.jar;。\ libs \ xmlbeans-qname.jar;。\ libs \ xmlpublic.jar“excelsifter.ExcelSifterController

这一切都在一行上。我试过/而不是\,但那似乎不起作用。我能找到的所有东西都表明,对于Windows,你必须使用反斜杠。据我所知,所有的依赖都在这里。至少我的Mac没有抱怨,当我使用本质上相同的命令。

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

+0

你可以显示目录结构 – 2011-05-11 11:00:36

+0

你试过'/'而不是'\\'?你确定这些文件在相对路径中,即你是否正确更改目录? – 2011-05-11 11:01:08

+0

您能否添加关于哪些类未找到的信息?他们来自哪个jar文件?你确定那个jar文件正在构建吗? – 2011-05-11 19:13:22

回答

0

POI依赖于什么库?对我来说,一个单一的poi.jar似乎太裸照......没有找到这个类的名字是什么?尝试在其他库中搜索它。

+0

对不起,我应该放入我正在使用的全部命令: – JohnInSeattle 2011-05-11 18:44:20

0

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

+0

很可能未包含在类路径中的库不需要位于一台计算机的类路径中,因为它位于JDK或JRE目录内('jre/lib/ext'也许?)。 – 2011-05-11 19:57:43

+0

谢谢,就是这样......我没有在我的classpath中包含我需要的jar文件。 – JohnInSeattle 2011-05-12 01:25:36