bad class file: ./com/****/***/example/session/utility/MFEncoder.class
class file has wrong version 49.0, should be 48.0
ปัญหานี้เกิดขึ้นเมื่อใช้คำสั่ง Compile file สาเหตุเกิดจาก ไฟล์ที่เรากำลังจะ compile นั้น มีการใช้ class ซึ่ง compile ด้วย java version อื่นอยู่ (bad class file) จากตัวอย่าง ผม Compile ไฟล์ชื่อ MDSubDemo.java แต่เนื่องจาก ผมเพิ่งเปลี่ยน Compiler จาก JDK5.0 เป็น 1.4 ก็เลยเกิดปัญหานี้ขึ้น เพราะว่ามันมี file .class ที่อื่น ที่มัน compile ไว้แล้วด้วย JDK5.0 แล้วไม่ได้ถูกลบทิ้งไป ผลจึงทำให้ compile ไฟล์ไม่สำเร็จ
วิธีการแก้ปัญหาก็คือ ลบไฟล์ .class ที่ระบุอยู่ใน bad class file ทิ้ง ก็เป็นอันใช้ได้แล้ว.
ในตัวอย่าง 49.0 เป็น version ของ JDK5.0 ส่วน 48.0 เป็น JDK1.4 สรุป มันกำลังบอกว่า คลาสไฟล์ผิดเวอร์ชั่น มันควรจะเป็นเวอร์ชั่น 48 นั่นเอง
Comments
Mon, 23.06.2008 00:15
good idea
Fri, 20.06.2008 00:50
โอ้ ปั้นหมีโหดมั่งๆ อิ อิ
Thu, 19.06.2008 11:46
ขอบคุณมาก ๆ เห็นแล้วอมยิ้มแก้ม ปริ ^^
Thu, 19.06.2008 11:37
เห็นแล้ว แอบอมยิ้ม น่ารักมาก ๆ ค่ะ