创建JavaFX项目并用Maven打包

一、安装javafx_scenebuilder

从这里下载https://www.oracle.com/java/technologies/javafxscenebuilder-1x-archive-downloads.html

下载最新版的Scene Builder

创建JavaFX项目并用Maven打包

下载完安装,在桌面上就会出现创建JavaFX项目并用Maven打包这个图标



二、配置IDEA

快捷键Ctrl+Alt+S 进入设置页面

打开Languages & Frameworks 配置JavaFX

创建JavaFX项目并用Maven打包

设置SceneBuilder路径

创建JavaFX项目并用Maven打包



三、新建JavaFX项目

创建JavaFX项目并用Maven打包

创建JavaFX项目并用Maven打包

创建JavaFX项目并用Maven打包

以上就创建了一个JavaFX项目,fxml文件可以用SceneBuilder打开,进行设置

创建JavaFX项目并用Maven打包

四、转换为Maven项目

项目上右击,点击 Add Framework Support

创建JavaFX项目并用Maven打包

Maven上打勾就行了

创建JavaFX项目并用Maven打包

出来这个,就点一下Enable Auto-Import,点一下又不会少块肉。

创建JavaFX项目并用Maven打包

下面是转换后的结构

创建JavaFX项目并用Maven打包

但是,在Maven中,资源和代码是分开的,我们必须将fxml放入到resources中

创建JavaFX项目并用Maven打包


resources中要新建文件夹,文件夹结构要和包名一致,这样生成jar包后,class和fxml文件就会在同一包下

创建JavaFX项目并用Maven打包

下面这个getResouce使用相对路径

创建JavaFX项目并用Maven打包


运行没问题

创建JavaFX项目并用Maven打包


五、Maven打包

<build>
<plugins>
<!-- 项目依赖插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.directory}/libs</outputDirectory>
<excludeTransitive>false</excludeTransitive> <!-- 表示是否不包含间接依赖的包 -->
<stripVersion>false</stripVersion> <!-- 去除版本信息 -->
</configuration>

<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 拷贝项目依赖包到libs/目录下 -->
<outputDirectory>${project.build.directory}/install/libs</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
</configuration>
</execution>
</executions>
</plugin>

<!-- 设置jar的入口类 -->
<!-- 打包插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<!-- 生成MANIFEST.MF的设置 -->
<manifest>
<!-- 为依赖包添加路径, 这些路径会写在MANIFEST文件的Class-Path下 -->
<addClasspath>true</addClasspath>
<classpathPrefix>libs/</classpathPrefix>
<!-- jar启动入口类,这个需要修改-->
<mainClass>sample.Main</mainClass>
</manifest>
</archive>
<outputDirectory>${project.build.directory}/install</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>

创建JavaFX项目并用Maven打包

最后install一下,进行打包生成

创建JavaFX项目并用Maven打包

创建JavaFX项目并用Maven打包

生成后的install目录下的jar文件就可以直接双击打开

创建JavaFX项目并用Maven打包


创建JavaFX项目并用Maven打包