對於在學校的作業,我需要創建一個類Blender
,它實現了一些預定義的事情。我收到了一個JAR文件,imagecompositor.jar
,它可以完成所有工作,並使用Blender
類。 JAR文件包含兩個類(ImageCompositor.class
和StDraw.class
)。Java NoClassDefFoundError
要運行該程序,老師說我必須運行以下命令:
java -cp ... ass3.ImageCompositor img1 img2 offsetx offsety
我只知道如何代碼的Java。我不知道如何將外部類加載到JAR文件中。所以,我想這一點:
java -cp imagecompositor.jar ass3.ImageCompositor img1.png img2.png 0 0
但它扔了NoClassDefFoundError
:
Exception in thread "main" java.lang.NoClassDefFoundError: ass3/Blender
at ass3.ImageCompositor.main(ImageCompositor.java:113)
的Blender
類有行package ass3
在裏面。我究竟做錯了什麼?
我想給更多的信息,但我不知道怎麼去堆棧跟蹤等
ImageCompositor第113行發生了什麼? java.lang.NoClassDefFoundError通常是一些靜態構造函數失敗。我們需要更多的堆棧跟蹤來解決這個問題,或者查看ImageCompositor以找出構造函數鏈中的內容。 –
我們沒有得到任務的源代碼。我們只能得到jar文件,所以我不能告訴你發生了什麼。但它可能是攪拌機攪拌機=新的攪拌機();因爲這是它第一次抱怨沒有找到Blender類定義。 – Fatso
你從哪裏看到異常消息?一般來說,堆棧跟蹤在此之後立即出現。 –