2016-11-26 96 views
1

我對Java很有點新,我正在嘗試使用JavaFX。我正在使用NetBeans 8.2並創建了一個新的JavaFX項目。 Netbeans創建了一個示例「Hello world」應用程序,但運行它給了我這個錯誤:netbeans javafx hello world sample

Executing C:\Users\*****\Documents\NetBeansProjects\HelloWorld\dist\run875675325\HelloWorld.jar using platform C:\Program Files\Java\jdk1.8.0_20\jre/bin/java 
Exception in Application start method 
java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363) 
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767) 
Caused by: java.lang.RuntimeException: Exception in Application start method 
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147(LauncherImpl.java:157) 
    at com.sun.javafx.application.LauncherImpl$$Lambda$48/752848266.run(Unknown Source) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassFormatError: Truncated class file 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:455) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:367) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153(LauncherImpl.java:819) 
    at com.sun.javafx.application.LauncherImpl$$Lambda$51/1073159910.run(Unknown Source) 
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(PlatformImpl.java:323) 
    at com.sun.javafx.application.PlatformImpl$$Lambda$45/584634336.run(Unknown Source) 
    at com.sun.javafx.application.PlatformImpl.lambda$null$164(PlatformImpl.java:292) 
    at com.sun.javafx.application.PlatformImpl$$Lambda$47/670904707.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(PlatformImpl.java:291) 
    at com.sun.javafx.application.PlatformImpl$$Lambda$46/501263526.run(Unknown Source) 
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
    at com.sun.glass.ui.win.WinApplication.lambda$null$141(WinApplication.java:102) 
    at com.sun.glass.ui.win.WinApplication$$Lambda$37/96639997.run(Unknown Source) 
    ... 1 more 
Exception running application helloworld.HelloWorld 
Java Result: 1 

任何幫助,將不勝感激。

+0

哪一個是你的Java版本? –

+1

你可以附加代碼的問題 – dammina

+0

可能重複的[Maven突然拋出錯誤,截斷類文件](http://stackoverflow.com/questions/18252775/maven-is-suddenly-throwing-error-truncated-class -file) –

回答

0

在堆棧跟蹤的關鍵是這一行:

Caused by: java.lang.ClassFormatError: Truncated class file 

凡是說堆棧跟蹤點內錯誤真正嚴重的「環境」之類的問題。

就你的情況而言:你的IDE生成的一個或多個類文件看起來很簡單,就是損壞了

試着去簡單的清理和重建你的項目。

如果這沒有幫助(我會覺得很奇怪);那麼我有點擔心你的Netbeans安裝本身會以某種方式損壞(所以,我個人而言,我會完全清除該安裝並再次從頭開始嘗試)。

+0

嗨。我試圖清理和重建,但它仍然給我同樣的錯誤。我沒有以任何方式修改代碼。這只是NetBeans在啓動新的JavaFX應用程序時生成的示例代碼。 – someguy

+1

重新安裝所有內容之前,請轉至項目屬性並確保源格式爲JDK-8。如果這個和清理/構建不起作用,你會遇到更大的問題。 – brian

+0

它被設置爲JDK-8。猜猜我會嘗試重新安裝。 – someguy