創建JavaFX項目並用Maven打包


一、安裝javafx_scenebuilder

從這里下載https://www.oracle.com/java/technologies/javafxscenebuilder-1x-archive-downloads.html

下載最新版的Scene Builder

image

下載完安裝,在桌面上就會出現image這個圖標



二、配置IDEA

快捷鍵Ctrl+Alt+S 進入設置頁面

打開Languages & Frameworks 配置JavaFX

image

設置SceneBuilder路徑

image



三、新建JavaFX項目

image

image

image

以上就創建了一個JavaFX項目,fxml文件可以用SceneBuilder打開,進行設置

image

四、轉換為Maven項目

項目上右擊,點擊 Add Framework Support

image

Maven上打勾就行了

image

出來這個,就點一下Enable Auto-Import,點一下又不會少塊肉。

image

下面是轉換后的結構

image

但是,在Maven中,資源和代碼是分開的,我們必須將fxml放入到resources中

image


resources中要新建文件夾,文件夾結構要和包名一致,這樣生成jar包后,class和fxml文件就會在同一包下

image

下面這個getResouce使用相對路徑

image


運行沒問題

image


五、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>

image

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

image

image

生成后的install目錄下的jar文件就可以直接雙擊打開

image


image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM