2017-04-22 65 views
0

我有一個使用Maven構建的Java FX項目,並使用FXLauncher https://github.com/edvin/fxlauncher來啓用自動更新應用程序。本機安裝程序是使用javapackager​​deploy命令創建的。FXLauncher - 如何使用本地安裝程序在無頭模式下運行?

我希望FXLauncher以無頭模式啓動。根據文檔做到這一點首先是在命令行上相應的命令fxlauncher:

java -classpath fxlauncher.jar fxlauncher.HeadlessMainLauncher 

我與struggeling的問題是,我無法弄清楚閱讀javapackager文件如何配置部署到COMAND創建一個可執行文件,以這種方式啓動fxlauncher。有任何想法嗎?

謝謝

+0

也許你想檢查[javafx-maven-plugin](https://github.com/javafx-maven-plugin/javafx-maven-plugin),只需將'fxlauncher.HeadlessMainLauncher'設置爲mainClass即可。 – FibreFoX

+0

Hello @FibreFoX感謝您的回覆。在我切換到javapackager之前,我已經嘗試使用javafx-maven-plugin創建我的本地包。不幸的是,FXLauncher需要在創建應用程序jar並複製依賴關係之後並在創建本地捆綁器之前執行一些步驟(在fxlauncher.jar文件中創建並嵌入清單app.xml)。 jafafx-maven插件不支持執行。 – bj03rnv0ss

+0

我檢查過那個fxlauncher-project的文檔:你是對的,沒有對這個項目的支持,而且有一些「醜陋的魔法」,我懷疑這會被包括進去。 – FibreFoX

回答

0

我能這個問題,感謝回答FXLauncher自己的作者:

現在你將不得不META-INF/MANIFEST.MF的Main-Class的參數更改爲fxlauncher.HeadlessMainLauncher在fxlauncher.jar內部署您的應用程序之前。

如果你想成爲一個執行步驟,這將很可能是這樣的:

<execution> 
    <id>configure-headless-launcher</id> 
    <phase>package</phase> 
    <goals> 
     <goal>exec</goal> 
    </goals> 
    <configuration> 
     <executable>jar</executable> 
     <workingDirectory>${app.dir}</workingDirectory> 
     <arguments> 
      <argument>uef</argument> 
      <argument>fxlauncher.HeadlessMainLauncher</argument> 
      <argument>fxlauncher.jar</argument> 
     </arguments> 
    </configuration> 
</execution> 

放入pom.xml中嵌入艙單功能於發射步驟之後。

相關問題