2011-08-27 51 views
2

我在我的java应用程序中使用sqlite。当我从Netbeans运行它时,它运行良好。 sqlite数据库文件位于根项目目录(与build.xml相同)。
这是访问数据库文件中的代码:如何在netbeans中将sqlite数据库文件包含到jar中?

DriverManager.getConnection("jdbc:sqlite:database.db"); 

然而,当我生成项目,并运行NetBeans之外的jar文件,我总是得到这样的错误:no such table: table_name

我的问题:其中是放置“sqlite db”文件的正确位置?是否有可能将其打包到JAR文件中?

我试图将我的应用程序打包到单个JAR文件(类似于Eclipse的FatJar),但我仍然遇到了这个错误。在这种情况下,我修改build.xml在本博客中解释:
Netbeans single JAR

我也试过在src目录下创建一个数据库文件夹,然后把数据库文件的文件夹(SRC /数据库/数据库中。分贝)和访问它使用

DriverManager.getConnection("jdbc:sqlite:src/database/database.db"); 

我可以在netbeans内运行它。但是,当我在外面跑了,我得到这个错误:

path to 'src/database/database.db':C:\Windows\system32\src' does not exist 

我知道有类似的问题,这在计算器,但他们大多没有一个具体的解决方案。让我知道是否有人找到了更好的。

非常感谢。

回答

2

问题解决了!

我在执行JAR文件的方式上犯了一个错误。以前,我通过右键单击它运行JAR文件并使用Java SE二进制打开它。我需要这样做,因为在我的电脑中,打开JAR文件的默认程序被设置为另一个软件。
原来,我必须将默认程序设置为Java SE Binary,并双击JAR文件才能运行我的应用程序。使用这种方式我可以运行并访问sqlite数据库文件没有问题。

我希望这可以帮助那些可能会遇到同样问题的人。

0

可能您需要指出您的应用程序将您的应用程序基目录包含在类路径中。 运行你的应用程序的命令应该是这样的:“-cp”

java -cp . YourAppMainClass 

的是命令选项,告诉Java来包括在classpath当前目录。

+0

我已经解决了这个问题。感谢您的关注。 –

相关问题