我剛剛檢查了我的(工作)檢票項目到一個新的開發機器,突然間,當我嘗試啓動碼頭時,我得到這個錯誤。從快速啓動Wicket Jetty與Start.java集成停止工作
java.lang.NoClassDefFoundError: net/unbewaff/Start
Caused by: java.lang.ClassNotFoundException: net.unbewaff.Start
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Exception in thread "main"
類文件存在,當我刪除文件時,eclipse重建它。未找到的類是包含我嘗試運行的主要方法的類,並且應該啓動嵌入式碼頭。即使是進入目錄,查看文件並在命令行上鍵入java Start.class
也會給出相同的錯誤,但措辭略有不同。
Wicket and embedded jetty - classNotFoundException似乎是相關的,但不是因爲那裏描述的錯誤發生在稍後和加載啓動類後。
我做了什麼:
- 簽出從庫中的項目
- 跑MVN全新安裝
- 跑MVN日食:日食
- 在Eclipse創建的項目
- 試圖啓動應用程序
- 撞牆
老實說,我不認爲這是一個檢票口或碼頭的問題,但由於他們都涉及不知怎的,我希望是誰的人已經和解決了這個問題...
事情我檢查:
- 該文件是真的有,這是當前和可讀性
- 我想看看字節碼調用
javap Start.class
沒有運氣(ERROR:Could not find Start.class
) - 打開使用文本編輯器(長相「propperly類文件二進制')
- 運行
mvn jetty:run
(開始與web應用程序一起運行碼頭)
什麼幫助:
至於馬亭的建議,我抓住了一個新的快速啓動,並比較了啓動類。從quickstart工作得很好,唯一的區別是我的diff-tool和我能找到的是連接器上的端口改變了,但是快速入門的類接受了這些,沒有任何問題。然後我將這個類從quickstart複製到我的項目中,並且在Dummy.java的名字下工作得很好。刪除有問題的類後,清理工作區並將其重命名爲Start.java,它停止工作。將其重命名爲Dummy可以使其恢復到工作狀態。
所以我得到了一個工作的解決方法,但仍然不知道,什麼是錯的。
日食也許吃你的運行配置?有時候,再次右鍵單擊該類並說「run as - > java application」會有所幫助。 –
@ Carl-EricMenzel不幸的是,這並沒有幫助,但謝謝你的建議。 – Nicktar