NoInitialContextException ที่เกิดขณะรัน EJB Client Application บน JBoss 4.0+Eclipse 3.2
หลาย ๆ ท่านที่เคยเขียน EJB มา คงจะเคยพบ error ที่ชื่อว่า NoInitialContextException กันมาบ้าง หลังจากที่ผมเขียนเรื่องปัญหาที่เกิดจากการ context lookup ไม่ได้ไปแล้ว คราวนี้เราจะมาคุยกันถึง
ปัญหา คลาสสิคอีกหนึงตัว ที่ผมจั่วหัวไว้ข้างบนนั่นเอง
ทำไมผมถึงเรียกว่าเป็น error ที่ คลาสสิค!?
นั่นก้อเป็นเพราะว่ามันเกี่ยวข้องการกับเซ็ต class path นั่นเอง ถ้าหากเราใช้ IDE ที่เก่ง ๆ เช่น JBuilder , RAD เป็นต้น ก้อจะไม่พบปัญหานี้ เนื่องจาก tool จะ config ค่า enviroment ต่าง ๆ ให้กับเราเอง แต่ถ้าเป็นนักพัฒนาประเภทฟรีนิยม เช่น Ecliepse จะพบได้ error นี้แทบจะทุกครั้งที่เริ่มทำโปรเจ็ค EJB เลย
ก้อว่าได้ จากที่ผมเกริ่นมาทั้งหมด
หลายท่านคงจะเดาถูกแล้วว่า ปัญหาประเภทนี้เกิดจากการ หา libraly ตัวที่ต้องการไม่พบ ซึ่ง libraly ประเภทนี้ก้อขึ้นอยู่กับว่า Application Server ที่ใช้อยู่เป็นของค่ายใดถัาเป็น JBOSS 4.0 จะมีชื่อว่า jbossall-client.jar ซึ่งเราก้อไม่จำเป็นที่จะต้องไป download มาให้วุ่นวาย
เพราะว่ามันก้อบรรจุอยู่ภายใต้ Application Server ที่เรา install อยู่นั้นเอง ภายใต้ path ดังนี้
/<JBoss Home>/client/jbossall-client.jar
แต่ถึงแม้ว่าเราจะเซ็ต class path ไว้ที่ enviroment ของเครื่องแล้วก้อตามที แต่ error ที่กล่าวมาก้อยังไม่หายเสียที ที่เป็นเช่นนั้นก้อเพราะว่า Eclipse ของเราจะไม่มอง class path ที่เซ็ตไว้ที่เครื่อง แต่จะมองจากภายในตัว project เท่านั้นนะครับ นั่นคือเราจะต้องใช้วิธีเพิ่ม
โดยการ add libraly ด้วยเมนู project>properties>java build path เท่านั้นครับ
ลองไปเล่นดูนะครับกับ Eclipse เพราะจากที่ผมเคยใช้ tool ต่าง ซึ่งจะ Genarate Code ให้
เราเกือบทั้งหมด แต่สำหรับ Eclipse จะไม่ทำให้ทั้งหมด ซึ่งเป็นประโยชน์ในการศึกษาด้วยการแก้ปัญหาได้
เป็นอย่างดี ถ้าติดปัญหาอะไรก้อสอบถามกันเข้ามาได้ เพราะช่วงนี้ผมก้อหันกลับมาใช้ Eclipse ด้วยเช่นกัน
Tuesday, 16 October 2007
NoInitialContextException ที่เกิดขณะรัน EJB Client Application
Tags: articles, author: tong, ejb, java, java ee, problem solving
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment