[英]Maven + Build Native with javafx-maven-plugin without JRE
我有一個簡單的JavaFX應用程序,我想為Windows機器創建一個安裝程序。 javafx-maven-plugin
與Windows安裝程序一起工作並創建應用程序的可執行文件,但問題是,它創建了一個Windows安裝程序,其中包含JavaFX應用程序和完整的JRE 。
那么,如何使用javafx-maven-plugin
為Windows構建本機文件,而無需在其中攜帶完整的Java框架。 也許它應該只創建一個Java Framework的依賴。 這使安裝程序從1.5MB到200MB的磁盤空間膨脹。
使用Maven我使用命令mvn clean compile jfx:build-jar jfx:native
來獲取Windows中的本機文件,這里是我正在使用的POM文件:
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo</groupId>
<artifactId>hello-javafx-maven-example</artifactId>
<name>JavaFX Example Maven Project</name>
<organization>
<name>Jaa Demo</name>
</organization>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.1.3</version>
<configuration>
<mainClass>com.demo.helloWorld</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
我是那個javafx-maven-plugin的維護者。
在創建安裝程序時,“按設計”是將JRE捆綁在應用程序中。 我自己也偶然發現了這一點,但是盡管有oracle的當前文檔,但我發現無法運行我生成的文件(使用JDK 1.8u40及更高版本,Windows)而沒有將JRE放在我的本機啟動器旁邊。 packager.dll似乎要求它在那里。 但要說清楚:這對我來說可能只是一個問題,沒有經過驗證,我也沒有對此進行調查。
要回答您的問題:您可以通過傳遞一些bundleArguments來刪除JRE:
<bundleArguments>
<runtime />
</bundleArguments>
我自己這樣做,主要是為了加速測試項目,比如: https : //github.com/javafx-maven-plugin/javafx-maven-plugin/blob/master/src/it/03-cli- JFX-本地/ pom.xml的#L31
編輯:請考慮升級到插件版本8.1.5,因為有一些錯誤修復,包括(恕我辦事)嚴重的解決方案在Linux系統上的本機啟動器。 在正常的maven-lifecycle中也支持創建包: https : //github.com/javafx-maven-plugin/javafx-maven-plugin/blob/master/src/it/07-lifecycle-build-jfx-native /pom.xml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.