【问题标题】:Include embedded in Maven javaFX project While Deploy an applicaiton在部署应用程序时包含嵌入到 Maven javaFX 项目中
【发布时间】:2016-03-29 18:01:08
【问题描述】:

我有一个结构如下的 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 & build-native 目标后,我没有找到 "database.mv.db" 文件,我如何告诉 maven 放入 "database.mv.db"里面 $basedir ?.相反,如果我可以将 database.mv.db 放在资源文件中,并且这不会阻止我写入,那就更好了(因为我知道我们不能写入 .jar 包中的文件)

【问题讨论】:

    标签: java maven deployment javafx


    【解决方案1】:

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

    要回答我们的问题,您可能需要升级到 javafx-maven-plugin 的当前版本并使用特殊的 &lt;additionalAppResouces&gt;-property,这需要一些路径,所有其他文件都存储在该路径中。

    所以请将您的database.mv.db 放入某个文件夹,比如src/main/database 并将其添加到您的插件配置中: &lt;additionalAppResouces&gt;src/main/database&lt;/additionalAppResouces&gt;.

    如果您也想在调用 mvn jfx:run 或 mvn jfx:jar 时复制该文件,请将其添加到您的插件配置中:&lt;copyAdditionalAppResourcesToJar&gt;true&lt;/copyAdditionalAppResourcesToJar&gt;

    在回答这个问题时,我发现这个属性(可用时间很长)在src/it(存储所有测试项目的地方)内没有任何示例项目,对此感到抱歉。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-25
      • 1970-01-01
      相关资源
      最近更新 更多