Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在eclipse中运行和转到项目文件夹以及使用.jar之间的区别_Java_Eclipse - Fatal编程技术网

Java 在eclipse中运行和转到项目文件夹以及使用.jar之间的区别

Java 在eclipse中运行和转到项目文件夹以及使用.jar之间的区别,java,eclipse,Java,Eclipse,我试图找到更多关于eclipse如何处理项目运行的信息。 我想进一步了解它,因为我目前遇到一个问题,当项目通过eclipse运行时,包含在项目类路径中的apache poi.jar文件将正常工作,但是在转到同一个项目文件夹并运行主jar文件以启动程序时将不会被检测到 它给了我一个错误:java.lang.NoClassDefFoundError:org/apache/poi/ss/usermodel/Cell(虽然有时不是Cell,而是Sheet) 我可以参考什么来了解这里发生的情况,并可能解决

我试图找到更多关于eclipse如何处理项目运行的信息。 我想进一步了解它,因为我目前遇到一个问题,当项目通过eclipse运行时,包含在项目类路径中的apache poi.jar文件将正常工作,但是在转到同一个项目文件夹并运行主jar文件以启动程序时将不会被检测到

它给了我一个错误:java.lang.NoClassDefFoundError:
org/apache/poi/ss/usermodel/Cell
(虽然有时不是Cell,而是Sheet)


我可以参考什么来了解这里发生的情况,并可能解决此问题?

您的
NoClassDefFoundError
表明运行jar时库不可用

这取决于将项目导出到jar文件的方式

如果您正在使用eclipse进行此操作,您可以:

Export->Java->Runnable Jar
创建包含依赖项的Jar

确保选中
将所需库打包到生成的JAR中

这将使所有jar(包括ApachePOI.jar在内的构建路径)成为最终jar的一部分


它从eclipse运行,因为库位于eclipse的构建路径上,这使得它们可以在类路径中使用。

你是什么意思?通过命令行调用java?命令行对项目结构或类路径设置一无所知。除非您以某种方式设置了类路径。我不太确定eclipse的细节,但我假设您的ApachePOI依赖项没有包含在输出jar中。如果您使用的是maven,我建议您查看shade插件,否则eclipse可能会设置在您的工件中包含依赖项。在任何情况下,我们都无法帮助您处理这些不完整的信息。请阅读并加强您的问题。可能的副本