在部署应用程序时,将嵌入式包含在Maven javaFX项目中
我有一个javaFX Maven项目,其结构如下:在部署应用程序时,将嵌入式包含在Maven javaFX项目中,java,maven,deployment,javafx,Java,Maven,Deployment,Javafx,我有一个javaFX Maven项目,其结构如下: BaseDir_ |--src_ | |-- Main | | |-- java | | |-- resources_ | | | setting.xml | |--Test |--database.mv.db
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>
com.zenjava
javafxmaven插件
8.1.4
main.main应用程序
EnterpriseLimited.jar
我的公司
创建jfxjar
包裹
构建jar
创建本地
包裹
构建本地
在执行build jar和build native目标之后,我没有找到“database.mv.db”文件,我如何告诉maven将“database.mv.db”放在里面
$basedir?。相反,如果我可以将database.mv.db放在资源文件中,并且这不会阻止我写入,那就更好了(因为我知道我们不能写入.jar包中的文件)首先,dislaimer:我是javafx maven插件的维护者 为了回答我们的问题,您可能需要升级到javafx maven插件的当前版本,并使用特殊的
-属性,该属性需要一些路径,所有附加文件都存储在该路径中
因此,请将您的database.mv.db
放入某个文件夹,比如src/main/database
,并将其添加到您的插件配置中:
src/main/database
如果您想在调用mvnjfx:run
或mvnjfx:jar
时复制该文件,请将其添加到您的插件配置中:true
在回答这个问题时,我发现这个属性(可用时间很长)在src/it
(存储所有测试项目的地方)中没有任何示例项目,对此表示抱歉