在部署应用程序时包含嵌入Maven javaFX项目

时间:2016-03-29 18:01:09

标签: java maven deployment javafx

我有一个像这样结构的javaFX Maven项目:

BaseDir_
        |--src_
        |       |-- Main
        |       |       |-- java
        |       |       |-- resources_
        |       |                     | setting.xml
        |       |--Test
        |--database.mv.db

我正在使用zenjava JavaFX插件,因此pom.xml中的配置是:

 <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>8.1.4</version>
                <configuration>
                    <mainClass>main.MainApplication</mainClass>

                    <jfxMainAppJarName>entrepriseLimited.jar</jfxMainAppJarName>
                    <vendor>myCompany</vendor>
                </configuration>
                <executions>
                    <execution>
                        <!-- required before build-native -->
                        <id>create-jfxjar</id>
                        <phase>package</phase>
                        <goals>
                            <goal>build-jar</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>create-native</id>
                        <phase>package</phase>
                        <goals>
                            <goal>build-native</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

执行build-jar&amp;构建本机目标,我没有找到“database.mv.db”文件,我怎么能告诉maven把“database.mv.db”放在里面 $ basedir?相反,如果我可以将database.mv.db放在资源文件中,并且这不会阻止我写入,那就更好了(因为我知道我们不能写入.jar包内的文件)

1 个答案:

答案 0 :(得分:0)

首先,免责声明:我是javafx-maven-plugin的维护者

要回答我们的问题,您可能希望升级到当前版本的javafx-maven-plugin并使用特殊的<additionalAppResouces> - 属性,该属性需要一些路径,其中存储了所有其他文件。< / p>

请将您的database.mv.db放入某个文件夹,然后说src/main/database并将其添加到您的插件配置中: <additionalAppResouces>src/main/database</additionalAppResouces>

如果您想在调用mvn jfx:runmvn jfx:jar时复制该文件,请将其添加到您的插件配置中:<copyAdditionalAppResourcesToJar>true</copyAdditionalAppResourcesToJar>

在回答这个问题时,我发现这个属性(可用很长时间),src/it内没有任何示例项目(所有测试项目都存储在这里),对不起。< / p>