Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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 Can';我不明白为什么Mongo数据库应用程序赢了';创建jar可执行文件后无法正常工作_Java_Mongodb_Awt - Fatal编程技术网

Java Can';我不明白为什么Mongo数据库应用程序赢了';创建jar可执行文件后无法正常工作

Java Can';我不明白为什么Mongo数据库应用程序赢了';创建jar可执行文件后无法正常工作,java,mongodb,awt,Java,Mongodb,Awt,我使用java.awt创建了一个JavaGUI应用程序。应用程序的基本思想是使用mongo java驱动程序查询mongo数据库 当从命令提示符运行代码时,GUI打开,它可以与初始化的mongod服务器进行良好的交互,没有问题。然而,当我使用相同的类创建一个jar可执行文件时,GUI打开得很好,但似乎没有发生任何服务器交互 例如,在运行非jar版本时,后台运行的mongod服务器会显示以下内容:Sat Dec 14 09:14:20.347[initandlisten]连接从127.0.0.1:

我使用java.awt创建了一个JavaGUI应用程序。应用程序的基本思想是使用mongo java驱动程序查询mongo数据库

当从命令提示符运行代码时,GUI打开,它可以与初始化的mongod服务器进行良好的交互,没有问题。然而,当我使用相同的类创建一个jar可执行文件时,GUI打开得很好,但似乎没有发生任何服务器交互

例如,在运行非jar版本时,后台运行的mongod服务器会显示以下内容:
Sat Dec 14 09:14:20.347[initandlisten]连接从127.0.0.1:XXXX#5(1个连接现在打开)
,但在运行jar版本时(完全没有对源代码做任何更改,完全相同的.java和.class文件),我在服务器上看不到任何连接状态


我怀疑你是否需要我在这篇文章中插入我所有的代码,但这里是我认为与我的问题最相关的细节。如果你需要任何其他细节,请告诉我

创建我的jar时,我使用了以下命令:

jar cvfm MongoDBGUI.jar manifest.txt *.class
manifest.txt包含以下行:

Main-Class: MongoDBGUI

*MongoDBGUI是一个具有主函数的类

我的水晶球表示,您一直在吞咽代码中的异常,因此当出现问题时,您没有日志来告诉您错误是什么


我的塔罗牌告诉我,您没有将驱动程序打包到jar中,因此找不到驱动程序。但我的ouija板声称您确实在jar中有驱动程序,只是在MANIFEST.MF的类路径中没有正确配置。

“使用java.awt”为什么要使用AWT而不是Swing?关于放弃使用AWT组件的许多好理由,请参见上的答案。如果您需要支持较旧的基于AWT的API,请参见。哦,我非常理解为什么要放弃AWT。我刚刚开始从零开始学习GUI,我想我会先学习最基本的东西。“我刚开始从零开始学习GUI,我想我会先学习最基本的东西。"AWT并不是“基本的”,而是“过时的”。它不利于学习如何使用Swing,而且会更加困难,因为在最近几天使用AWT的人基本上已经忘记了细节。所以我说:不,不,不!你可能是正确的例外部分,我甚至没有考虑尝试。但是驱动程序文件部分,GUI难道不会加载,因为它会抛出一些类未找到的错误吗?“它会抛出一些类未找到的错误吗?”如果代码忽略了它,则不会。我的意思是,如果我尝试在类路径中没有jar的情况下运行程序,它甚至不会运行。在这种情况下,程序正在工作……我只是得到了一个运行时错误。此外,我一直在修补异常,我注意到程序只是在连接阶段冻结,这会导致错误esn不会发生在“非JAR”版本中。这有帮助吗?只需阅读JAR的Java教程,了解如何在MANIFEST.MF中定义类路径