2016-04-28 9 views
1

Ich habe ein bestehendes javafx-Projekt in Eclipse (JDK 1.8). Ziel ist es, ein MSI-Paket zu erstellen, das eine ausführbare Datei enthält. Aber die Java-Laufzeit sollte nicht enthalten sein. Aber wenn ich die Anwendung zu starten zeigt es folgende Fehler:Eclipse deploy javafx exe ohne Laufzeit

Failed to find library ...\runtime\bin\server\jvm.dll

Die build.xml fx: deploy Ziel wie folgt aussieht:

<fx:deploy embedJNLP="true" 
     install="false" 
     shortcut="true" 
     extension="false" 
     includeDT="false" 
     offlineAllowed="true" 
     outdir="${basedir}/deploy" 
     outfile="test" 
     nativeBundles="msi" 
     updatemode="background" 
     verbose="true"> 

     <fx:platform basedir=""/> 
     <fx:info title="test" vendor="test GmbH" /> 

     <fx:application refId="fxApplication" /> 
     <fx:resources refid="appRes" /> 
     <fx:preferences install="false" shortcut="true" /> 

    </fx:deploy> 

Die Plattform basedir konfiguriert ist, um NICHT Laufzeit enthalten. <fx:platform basedir=""/>

Wie wird das Projekt so konfiguriert, dass es mit der standardmäßig installierten JRE startet?

Antwort

1

Ich bin mir nicht sicher, aber meine Vermutung ist, es ist derzeit ein Bug innerhalb der Javafx Packager. Selbst wenn <fx:platform basedir=""/> richtig führt nicht zu einer Laufzeit des erzeugte Config noch einen Eintrag in einen nicht vorhandenen Laufzeitordner enthält

app.runtime=$APPDIR\runtime 

löschen Sie diesen Eintrag in der Config neben dem erzeugten jar einschließlich führen soll die Standard-in mit installierten JRE auf das System.

+0

Ja, das ist richtig und es funktioniert jetzt. Wie kann ich den fxpackager so konfigurieren, dass er diesen Eintrag nicht in der Konfigurationsdatei erzeugt? Oder sollte ich die Konfigurationsdatei während der Bereitstellung ändern? Danke vielmals!!!! –

+0

Wie gesagt, ich glaube, es ist ein Bug und daher kann es nicht konfigurierbar sein, aber mein Wissen über den FXPackager ist begrenzt. Könnte es wert sein zu überprüfen, ob es bereits als Bug abgelegt wurde und vielleicht gibt es bereits Workarounds, die erklären, wie man es vermeidet. Sie könnten zum Beispiel die Konfigurationsdatei in Ihrer eigenen ant-Aufgabe manuell ändern und die Laufzeiteigenschaft aus der Konfiguration entfernen, wenn die Eigenschaft existiert. – crusam