2017-11-26 2 views
0

eine Idee, wie man ein .jar exportiert, das alles aus dem Gluon-Projekt enthält? verwendete ich den Schatten Glas, aber das Ergebnis lässt sich nicht öffnen und gibtWie exportiert man eine .jar-Datei von einem Gluon-Projekt?

Exception in Application start method 
Exception in thread "main" java.lang.reflect.InvocationTargetException 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.base/java.lang.reflect.Method.invoke(Unknown Source) 
     at java.base/sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) 
Caused by: java.lang.RuntimeException: Exception in Application start method 
     at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) 
     at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source) 
     at java.base/java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NoClassDefFoundError: com/sun/javafx/css/converters/SizeConverter 
     at com.gluonhq.charm.glisten.control.AppBar.<clinit>(SourceFile:406) 
     at com.gluonhq.charm.glisten.application.MobileApplication.start(SourceFile:191) 
     at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(Unknown Source) 
     at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(Unknown Source) 
     at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(Unknown Source) 
     at java.base/java.security.AccessController.doPrivileged(Native Method) 
     at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source) 
     at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) 
     at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
     at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source) 
     ... 1 more 
Caused by: java.lang.ClassNotFoundException: com.sun.javafx.css.converters.SizeConverter 
     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) 
     at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) 
     at java.base/java.lang.ClassLoader.loadClass(Unknown Source) 
     ... 11 more 
+0

Verwenden Sie Java 9? Die Abhängigkeiten Ihres Projekts (z. B. Charm 4.4.1) sind nur für Java 8 –

+0

, so dass diese JAR-Datei nur auf PCs mit Java 8 laufen kann, oder? –

+0

Ja, es benötigt Java 8. Alternativ könnten Sie die Java 9-Abhängigkeiten verwenden (charm: 4.4.0-jdk9). –

Antwort

0

ein Glas eines Gluon-Projekt zu exportieren, so dass es auf dem Desktop ausgeführt wird, können Sie einen Schatten verwenden plugin wie in diesem answer, oder Sie können Verwenden Sie die integrierten Tasks jar oder `distZip, aber berücksichtigen Sie, dass Sie den Build ändern müssen, um die Desktopabhängigkeiten zu enthalten, wie in here.

Danach wird das resultierende jar auf Java 8 oder Java 9 ausgeführt, basierend auf den Abhängigkeiten, die Sie verwenden.

Bisher war die regelmäßige jfxmobile Plugin verwendet Abhängigkeiten für Java 8:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'org.javafxports:jfxmobile-plugin:1.3.9' 
    } 
} 

apply plugin: 'org.javafxports.jfxmobile' 

repositories { 
    jcenter() 
    maven { 
     url 'http://nexus.gluonhq.com/nexus/content/repositories/releases' 
    } 
} 

dependencies { 
    compile 'com.gluonhq:charm:4.4.1' 
} 

So das resultierende Glas nur unter Java laufen 8.

Aber Sie können den Build ändern, so können Sie Java 9 auf dem Desktop:

dependencies { 
    compile 'com.gluonhq:charm:4.4.0-jdk9' 
} 

Beachten Sie, dass wenn Sie andere Abhängigkeiten haben, sollten diese auch mit Java 9 kompatibel sein.

Verwandte Themen