如何使用JavaFX应用程序的sqlite数据库文件正确构建exe文件?

时间:2019-01-20 09:29:57

标签: java sqlite javafx

我在Intelij Idea中制作了JavaFX应用程序。我的资源文件夹中有数据库文件,其中包含视频和图标之类的所有内容。我试图使用Maven来构建项目,但未成功。

我在项目中添加了我的库的依赖关系来pom文件。

我想要一个文件夹,其中包含所有必需的文件,例如视频和图标以及数据库文件,这些文件可以由用户随时更改。

我希望在该文件夹中有一个exe文件,目的是使在其他Windows计算机上运行程序更加容易。

我知道这里有laucnh4j应用程序,但是我什至不能用所有库和数据库文件来构建jar文件。

如何在Intelij Idea中构建jar或exe文件?

应将数据库文件放在何处?

我的项目结构:

Project structure 1 Project structure 2

database class

Pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>kentforth</groupId>
<artifactId>CategoryCards</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<properties>
    <maven.compiler.source>10</maven.compiler.source>
    <maven.compiler.target>10</maven.compiler.target>
</properties>

<dependencies>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.controlsfx</groupId>
        <artifactId>controlsfx</artifactId>
        <version>9.0.0</version>
    </dependency>

    <dependency>
        <groupId>com.jfoenix</groupId>
        <artifactId>jfoenix</artifactId>
        <version>9.0.6</version>
    </dependency>

    <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>3.23.1</version>
    </dependency>

    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>11</version>
    </dependency>

</dependencies>

编辑:

我决定不使用Maven进行构建,因为我很难理解如何使用数据库构建jar文件或exe文件。我使用标准Intelij Idea的方法制作jar,用库和数据库文件构建了jar文件,使用laucnh4j应用制作了exe文件,并使用Innmo安装程序将该exe文件打包到了安装程序中

当我在另一台计算机上启动该应用程序时,数据库工作正常,并且可以写入/读取数据库。但是问题是我在OS Windows中找不到该数据库文件

我认为这是因为数据库文件被打包到jar文件中。

有什么解决方案可以使我的应用程序从具有jar文件的文件夹中读取数据库文件,而不是从直接jar中读取数据库文件?

我的朋友将使用该数据库文件向数据库读取/写入信息

0 个答案:

没有答案