2011-08-04 7 views
0
내가 언급 아래 실행하기 위해 노력하고있어

에서 바람둥이로 Hazelcast을 사용하고 그것이 NoClassDefFoundException 던지고 방법 :이클립스

import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.Map; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import com.hazelcast.core.Hazelcast; 

/** 
* Servlet implementation class LoginUser 
*/ 
@WebServlet("/loginUser") 
public class LoginUser extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public LoginUser() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     Map<String,String> map=Hazelcast.getMap("user"); 
     PrintWriter out=response.getWriter(); 
     String user=request.getParameter("user"); 
     String pwd=request.getParameter("pwd"); 
     if(map.containsKey(user)) 
     { 
      if(pwd!=map.get(user)); 
      { 
       out.write("please correct your password"); 
      } 
     } 
     else 
     { 
      out.write("please correct your username"); 
     } 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
    } 

} 

스택 추적 :

SEVERE: Servlet.service() for servlet [ifkaar.admin.LoginUser] in context with path [/IfkaarAdmin] threw exception [Servlet execution threw an exception] with root cause 
java.lang.ClassNotFoundException: com.hazelcast.core.Hazelcast 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) 
    at ifkaar.admin.LoginUser.doGet(LoginUser.java:35) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:851) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:278) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Aug 4, 2011 12:51:46 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [ifkaar.admin.LoginUser] in context with path [/IfkaarAdmin] threw exception [Servlet execution threw an exception] with root cause 
java.lang.NoClassDefFoundError: com/hazelcast/core/Hazelcast 
    at ifkaar.admin.LoginUser.doGet(LoginUser.java:35) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:851) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:278) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
+0

BTW : 질문하는 것을 잊었습니다. Hazelcast 클래스는 런타임에 사용할 수 없습니다. 'WEB-INF/lib'에 넣었습니까? – home

+0

글쎄 나는 WEB-INF/lib에 hazelcast 항아리를 놓았지만 여전히 그 예외를 던지고있다 ... 그것은 이클립스 빌드 경로의 문제로 보인다. 내가 도움이 필요해 .... –

+0

이제 jav를 WEB-INF/lib에 넣었을 때 감사합니다. –

답변

1

을 당신은 hazelcast 라이브러리에 필요 런타임시 classpath. 당신의 hazelcast 라이브러리를 배치 할 수 있습니다 WEB-INF/lib

0

이 단지를 배치하거나 런타임에 WAR의 클래스 경로에

  1. - 또는
  2. (다른 사람에 의해 설명 로) WEB-INF/lib에 explined로 공유 $ CATALINA_HOME/lib 영역에서