我正在使用带有数据库集成的JavaFx创建桌面应用程序。当我从programfiles / sun / javadb运行Java DB服务器时,它向我显示了ClassNotFound Exception,但是当我从NetBeans IDE运行它时,它也是一样的。所以请告诉我如何在没有NetBeans IDE的情况下运行我的应用程序。我也想创建它的exe。我们如何使用JAR嵌入数据库。在创建exe时。
答案 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;点击完成。
接下来,我假设您手动创建数据库,我们假设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)。