簡體   English   中英

使用沒有JRE的javafx-maven-plugin Maven + Build Native

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM