【问题标题】:How to run database program outside the Netbeans IDE?如何在 Netbeans IDE 之外运行数据库程序?
【发布时间】:2012-04-10 08:58:29
【问题描述】:

我对数据库真的很陌生,这是我使用 java Netbeans 7.1 编写的第一个数据库程序 --- 现在是我们国家的夏天,我是 I.T. 课程的学生。我们下一个关于编程的主题是关于数据库的,由于没有课,我花时间学习数据库为下一个学期做准备,我将这个网站作为我目前正在制作的第一个数据库程序的指南。

http://www.homeandlearn.co.uk/java/databases_and_java_forms.html

我完成了教程中的所有内容,实际上我已经完成了程序。

我做的最后一件事是清理并构建程序,因为我希望程序在不再次打开 netbeans 的情况下运行,我下载了 JRE 并将我的 database_form.jar 作为 jar 可执行文件。 “database_form”是我的 Netbeans 项目的名称。我通过在打开任何 jar 文件时将 JRE.7 中的 javaw 作为我的默认设置来做到这一点。

无论如何,这就是我运行程序的方式。

  1. 在 Netbeans IDE 中运行程序

使用 Netbeans,在我的程序运行之前,我首先需要在 JavaDB 上“启动服务器”。因为如果我不这样做,就会发生异常“错误。连接到服务器 localhost 1527 等等”

  1. 单独使用 jar 可执行文件运行程序。

问题是出现异常,连接中的错误仍然发生。

我想达到什么目的?

我希望程序在不打开 Netbeans IDE 并转到 Java DB 以单击“启动服务器”的情况下运行,我不想再这样做了。或者我的第二个选择是使用命令提示符启动服务器,这样我只需要制作一个 bat 文件,这样每当我打开我的程序 database_form.jar 时,我只需将 bat 文件放在我的桌面上并运行它。

第二个问题! 实际上,我已经通过使用命令提示符启动服务器尝试了我的第二个选项,但我忘记了我是如何做到的,我只是在某个网站上找到它,我唯一记得的是异常说“由于数据库员工无法午餐服务器缺少。Employees 是我创建的数据库的名称。

操作系统我使用的是 Windows 7。

感谢大家的回复,很抱歉我只想具体说明一下长文,:D

【问题讨论】:

  • 程序在 Netbeans IDE 中成功运行,但不能单独在 jar 可执行文件中运行。
  • 单独使用jar可执行文件运行程序有什么异常?
  • 你链接到的教程太糟糕了,它是不真实的。当然,它显示了如何连接到数据库并在 Swing UI 中设置值,但是看不到 Connection 曾经被关闭,并且 UI 逻辑与数据库逻辑混合在一起。它只是试图将太多概念组合到一个教程中。请注意,它生成的应用程序甚至与在现实世界中构建访问数据库的多客户端应用程序的方式相差甚远。

标签: java jar netbeans-7


【解决方案1】:

是的,从您的描述来看,您似乎有几件事令人困惑。

首先,数据库通常作为服务器运行,有多个客户端连接到它们,从而允许共享它们。当您启动 Java DB 时,您正在启动 Java DB 数据库服务器。

也就是说,Java DB 等轻量级数据库可以按照here 的说明以嵌入式模式运行。请记住,您使用 derby.system.home 属性指向的目录需要包含数据库文件,否则您也需要以编程方式创建它。

其次,有多种方法可以在 IDE 之外运行 Java 应用程序,但 jar 本身不能像 Windows 中的 exe 文件那样执行。

最简单的方法是调用 java 可执行文件,传递必要的类路径和包含 main 方法的类的名称。例如,如果我有一个名为com.example.Application 的类已编译到目录C:\dev\example\classes,则以下命令行将运行该应用程序:

java -cp C:\dev\example\classes com.example.Application

如果存在对外部库的依赖,就像您在 Derby JDBC 驱动程序上的情况一样,那么这些也需要包含在类路径中,结果如下:

java -cp C:\dev\example\classes;C:\dev\lib\derby.jar com.example.Application

Java启动器here上有全套文档。

现在,回到罐子上。就像我说的,jar 不是可执行的,但有一些东西被称为“可执行 jar”。这与任何 jar 相同,除了清单中有一些特殊添加以指定应用程序入口点或主类和类路径,如 here 所述。

在 jar 的清单中指定主类和类路径后,以下命令行将运行应用程序:

java -jar C:\dev\example.jar

您甚至可以将 jar 扩展名与 java exe 相关联,双击 jar 将导致应用程序启动(尽管在开发机器上,将 jar 扩展名与 WinZip 或 simlar 相关联以便打开它可能更有用罐子)。

【讨论】:

  • @Nick....非常感谢!现在我对数据库有了一些背景知识,也许我更愿意尝试参考 oracle 或 net beans 网站中的一些教程,但那里更令人困惑,好像阅读教程的人已经具备基本知识。
【解决方案2】:

Netbeans 中的默认数据库是 Derby/JavaDB。所以你需要:

  • 在我们的类路径中添加 javadb/derby 的 jar(它可能已经存在,因为在 Ubuntu 中安装它时它与 java 捆绑在一起)
  • 使用 jdbc URI 设置路径以保存数据库数据

我个人建议使用hsqldbH2:它们支持内存数据库,对于没有持久性数据的独立项目或测试非常有用。

【讨论】:

    【解决方案3】:

    如果您使用窗口,请将管理工具中的 ODBC 数据源添加到您的 Java Derby 驱动程序并运行 jar。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 2015-06-22
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      相关资源
      最近更新 更多