如何使用我的javafx独立数据库应用程序在javadb中嵌入数据库

时间:2014-04-10 16:20:48

标签: netbeans javafx derby

我正在使用带有数据库集成的JavaFx创建桌面应用程序。当我从programfiles / sun / javadb运行Java DB服务器时,它向我显示了ClassNotFound Exception,但是当我从NetBeans IDE运行它时,它也是一样的。所以请告诉我如何在没有NetBeans IDE的情况下运行我的应用程序。我也想创建它的exe。我们如何使用JAR嵌入数据库。在创建exe时。

2 个答案:

答案 0 :(得分:0)

您需要在应用程序CLASSPATH中包含Derby jar文件(至少是derby.jar,可能还有其他文件)。

答案 1 :(得分:0)

我是Eclipse用户,所以我无法帮助你使用Netbeans,但是这里是如何在Eclipse中完成的:在这个解释中我在Java SE中使用了JPA(这是来自一个真实的项目,所以我希望我可以提供帮助)< / p>

首先将项目导出为jar:

  • 点击文件 - &gt;出口 - &gt;并选择Java / Runnable JAR文件 - &gt;点击 下一步

  • - &GT; Eclipse会自动查找并选择您的Main类+选择您希望eclise保存JAR文件的位置

  • - &GT;选择将所需的包打包到生成的JAR中 - &gt;点击完成。

enter image description here

接下来,我假设您手动创建数据库,我们假设db文件夹名为 finance 。现在将db文件夹放在与JAR相同的文件夹中,我在我的这个项目中使用了JPA,所以这里是persistence.xml

<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="FinanPU" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>lite.money.entities.Category</class>

        <!-- <shared-cache-mode>NONE</shared-cache-mode> -->
        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:derby:finance;" /> <!-- Derby -->

            <property name="eclipselink.ddl-generation.output-mode" value="database" />
        </properties>

    </persistence-unit>

这一行:

<property name="javax.persistence.jdbc.url" value="jdbc:derby:finance;" /> 

正如您所见,财务是您的数据库文件夹的路径,因为它是相对路径; db驱动程序将搜索JAR所在的同一文件夹中的文件夹。

这就是我如何使用JavaFX应用程序嵌入JavaDB(当然使用JPA)。