2017-09-27 9 views
9

Używam JavaFX Gradle plugin do zbudowania aplikacji JavaFX. Czy można mieć więcej niż jeden plik wykonywalny zbudowany z różnych głównych klas? Jeśli tak to jak?Czy mogę mieć więcej niż jeden plik wykonywalny z natywnym narzędziem do budowania JavaFX?

+0

Kiedy mówisz binary, o którym mówisz i plik wykonywalny? – Sedrick

+0

Tak, mam na myśli plik wykonywalny – Pablo

+0

Czy nie jest to kwestia tylko kliknięcia prawym przyciskiem myszy? – Sedrick

Odpowiedz

4

Jest to możliwe, ponieważ obsługuje je javapackager.

Jak rozumiem, masz rację, masz projekt, w którym masz wiele punktów wejścia i teraz chcesz utworzyć natywne wyrzutnie/pliki binarne dla każdego z tych punktów wejścia. To się nazywa "dodatkowy launcher" wewnątrz wtyczki gradle, a nawet wewnątrz javapackager.

Aby utworzyć wiele plików wykonywalnych z tego samego pakietu, wystarczy dodać to wewnątrz buildfile:

jfx { 
    // ... normal configuration ... 

    // your secondary entry points, each will create a native executable (and one .cfg-file for each) 
    secondaryLaunchers = [ 
     // second executable 
     [ 
      appName: 'somethingDifferent' 
      // will create the same executable, just with a different name (so this is demo-purpose only) 
     ], 
     // third executable 
     [ 
      appName: 'somethingDifferent2', 
      // specify your different entry-point 
      mainClass: 'your.different.entrypoint.MainApp' 
      // other possible entries: "jfxMainAppJarName", "jvmProperties", "jvmArgs", "userJvmArgs", "nativeReleaseVersion", "needShortcut", "needMenu", "vendor", "identifier" 
     ] 
    ] 
} 

Zastrzeżenie: jestem twórcą pluginu JavaFX Gradle;)

+2

Uwaga: jeśli masz jakieś pytanie, możesz otworzyć problem w projekcie github lub skontaktować się bezpośrednio przez e-mail. Jest to często szybsze, ale mogę zrozumieć, że SO jest doskonałą "lokalizacją" badań;) – FibreFoX

+0

Sugestia: - [Przykład] (https://github.com/FibreFoX/javafx-gradle-plugin/blob/master/README .md # example-buildgradle) omija tę idealną linię dokumentacji w tym przypadku. – nullpointer

+0

Dziękuję @FibreFoX. Tego typu odpowiedzi są rzadkością i powinno się do nich dążyć. – Pablo

Powiązane problemy