2017-03-08 104 views
0

當我輸入fontawesomefx-commons.jar(版本8.15)到現場Builder和運行JAR分析,我得到這些錯誤:與場景生成器fontawesomefx問題

Exception for: de/jensd/fx/glyphs/GlyphIcon.class 
javafx.fxml.LoadException: 
unknown path:2 

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) 
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1012) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:105) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.exploreEntry(JarExplorer.java:146) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.explore(JarExplorer.java:65) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.exploreAndUpdateLibrary(LibraryFolderWatcher.java:298) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.runWatching(LibraryFolderWatcher.java:192) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.run(LibraryFolderWatcher.java:89) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.InstantiationException: de.jensd.fx.glyphs.GlyphIcon 
    at java.lang.Class.newInstance(Class.java:418) 
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1010) 
    ... 11 more 
Caused by: java.lang.NoSuchMethodException: de.jensd.fx.glyphs.GlyphIcon.<init>() 
    at java.lang.Class.getConstructor0(Class.java:2971) 
    at java.lang.Class.newInstance(Class.java:403) 
    ... 13 more 


Exception for: de/jensd/fx/glyphs/GlyphIcons.class 
javafx.fxml.LoadException: 
unknown path:2 

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) 
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1012) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:105) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.exploreEntry(JarExplorer.java:146) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.explore(JarExplorer.java:65) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.exploreAndUpdateLibrary(LibraryFolderWatcher.java:298) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.runWatching(LibraryFolderWatcher.java:192) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.run(LibraryFolderWatcher.java:89) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.InstantiationException: de.jensd.fx.glyphs.GlyphIcons 
    at java.lang.Class.newInstance(Class.java:418) 
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1010) 
    ... 11 more 
Caused by: java.lang.NoSuchMethodException: de.jensd.fx.glyphs.GlyphIcons.<init>() 
    at java.lang.Class.getConstructor0(Class.java:2971) 
    at java.lang.Class.newInstance(Class.java:403) 
    ... 13 more 


Exception for: de/jensd/fx/glyphs/GlyphsBuilder.class 
javafx.fxml.LoadException: 
unknown path:2 

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) 
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1012) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:105) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.exploreEntry(JarExplorer.java:146) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.explore(JarExplorer.java:65) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.exploreAndUpdateLibrary(LibraryFolderWatcher.java:298) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.runWatching(LibraryFolderWatcher.java:192) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.run(LibraryFolderWatcher.java:89) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.InstantiationException: de.jensd.fx.glyphs.GlyphsBuilder 
    at java.lang.Class.newInstance(Class.java:418) 
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1010) 
    ... 11 more 
Caused by: java.lang.NoSuchMethodException: de.jensd.fx.glyphs.GlyphsBuilder.<init>() 
    at java.lang.Class.getConstructor0(Class.java:2971) 
    at java.lang.Class.newInstance(Class.java:403) 
    ... 13 more 


Exception for: de/jensd/fx/glyphs/GlyphsFactory.class 
javafx.fxml.LoadException: 
unknown path:2 

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) 
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1012) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:105) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.exploreEntry(JarExplorer.java:146) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.explore(JarExplorer.java:65) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.exploreAndUpdateLibrary(LibraryFolderWatcher.java:298) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.runWatching(LibraryFolderWatcher.java:192) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.run(LibraryFolderWatcher.java:89) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.InstantiationException: de.jensd.fx.glyphs.GlyphsFactory 
    at java.lang.Class.newInstance(Class.java:418) 
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1010) 
    ... 11 more 
Caused by: java.lang.NoSuchMethodException: de.jensd.fx.glyphs.GlyphsFactory.<init>() 
    at java.lang.Class.getConstructor0(Class.java:2971) 
    at java.lang.Class.newInstance(Class.java:403) 
    ... 13 more 


Exception for: de/jensd/fx/glyphs/GlyphsStyle.class 
javafx.fxml.LoadException: 
unknown path:2 

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) 
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1012) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:105) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.exploreEntry(JarExplorer.java:146) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.explore(JarExplorer.java:65) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.exploreAndUpdateLibrary(LibraryFolderWatcher.java:298) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.runWatching(LibraryFolderWatcher.java:192) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.run(LibraryFolderWatcher.java:89) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.InstantiationException: de.jensd.fx.glyphs.GlyphsStyle 
    at java.lang.Class.newInstance(Class.java:418) 
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1010) 
    ... 11 more 
Caused by: java.lang.NoSuchMethodException: de.jensd.fx.glyphs.GlyphsStyle.<init>() 
    at java.lang.Class.getConstructor0(Class.java:2971) 
    at java.lang.Class.newInstance(Class.java:403) 
    ... 13 more 


Exception for: de/jensd/fx/glyphs/GlyphStackIcon.class 
javafx.fxml.LoadException: 
unknown path:2 

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) 
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1012) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:105) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.exploreEntry(JarExplorer.java:146) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.explore(JarExplorer.java:65) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.exploreAndUpdateLibrary(LibraryFolderWatcher.java:298) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.runWatching(LibraryFolderWatcher.java:192) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.run(LibraryFolderWatcher.java:89) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.InstantiationException 
    at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408) 
    at java.lang.Class.newInstance(Class.java:433) 
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1010) 
    ... 11 more 


Exception for: de/jensd/fx/glyphs/GlyphStackIcons.class 
javafx.fxml.LoadException: 
unknown path:2 

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) 
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1012) 
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740) 
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723) 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:105) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.exploreEntry(JarExplorer.java:146) 
    at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.explore(JarExplorer.java:65) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.exploreAndUpdateLibrary(LibraryFolderWatcher.java:298) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.runWatching(LibraryFolderWatcher.java:192) 
    at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.run(LibraryFolderWatcher.java:89) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.InstantiationException: de.jensd.fx.glyphs.GlyphStackIcons 
    at java.lang.Class.newInstance(Class.java:418) 
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) 
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1010) 
    ... 11 more 
Caused by: java.lang.NoSuchMethodException: de.jensd.fx.glyphs.GlyphStackIcons.<init>() 
    at java.lang.Class.getConstructor0(Class.java:2971) 
    at java.lang.Class.newInstance(Class.java:403) 
    ... 13 more 

有誰知道爲什麼會發生。我在項目中添加了對POM的依賴關係,並且在代碼中設置了它的圖標。我想通過Scene Builder來做,所以我可以看到GUI。

回答

1

它看起來像SceneBuilder希望GlyphIcon提供一個無參數構造函數,但該特定版本的類定義了一個至少需要一個參數的構造函數。

Ikonli(http://aalmiray.github.io/ikonli/)的行爲與FontAwesomeFX類似,但具有更多圖標。

+0

感謝您的建議。我刪除了fontawesomefx jar並將ikonli jar添加到了Scene Builder,並且我得到了類似的行爲: 異常:org/kordamp/ikonli/javafx/FontIcon.class java.io.IOException:java.lang.NoClassDefFoundError:org/kordamp/ikonli /依康 \t在com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:109) \t在com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer .exploreEntry(JarExplorer.java:146) \t at – Mensur

+1

當我將ikonli-core添加到Scene Builder後,它也起作用了。感謝您的建議。 – Mensur

+0

對。 Ikonli遵循模塊化設計並針對Swing和JavaFX。一旦你選擇了-core和-javafx deps,你只需要選擇使用哪個圖標包:-) – aalmiray