'작업노트/Error Handling'에 해당되는 글 19건

  1. 2009.03.11 NoClassDefFoundError
  2. 2008.10.29 [Spring] java.lang.NullPointerException
  3. 2008.10.08 이클립스에서 톰캣을 연동해서 작업할때, server.xml을 수정해도.. 1
  4. 2008.09.22 Spring] BeanDefinitionStoreException
  5. 2008.08.07 [Oracle] ORA-01461: can bind a LONG value only for insert into a LONG column
  6. 2008.07.07 [iBatis]UncategorizedSQLException
  7. 2008.05.29 Context [] startup failed due to previous errors.... 등등;
  8. 2008.02.19 The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory 6
  9. 2007.12.23 [Eclipse] JVM terminated. Exit code=-1 ....................................... 3
  10. 2007.12.22 [JNDI] NamingException

NoClassDefFoundError

|
And

[Spring] java.lang.NullPointerException

|
이번 경우는

한 Service 클래스에 새로운 DAO를 추가하고 

Spring설정 파일에서 DI설정(property추가)을 해주지 않아서

해당 DAO객체 접근시 발생한 에러이다. 

깜박하지 말자 DI 설정.
And

이클립스에서 톰캣을 연동해서 작업할때, server.xml을 수정해도..

|

이클립스에서 톰캣을 연동해서 작업할때, server.xml을 수정해도

이클립스 workspace안의 메타데이터(?)가

(
예) workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\conf 안의 server.xml
)

변경되지 않으므로 이클립스를 껏다가 켜야 변경된 사항이 적용된다.

안그럴순 없나? ;;
And

Spring] BeanDefinitionStoreException

|
나의 이번 경우는...

클래스 이름을 변경하고 rebuild하지 않아서

해당 클래스를 찾지 못해 발생한 에러.
And

[Oracle] ORA-01461: can bind a LONG value only for insert into a LONG column

|
시나리오:
DB서버를 이관하기 위해
기존의 Oracle 9i 에서 export 하고
Oracle 10g로 import시킴.

Spring 설정 파일에서 DB 설정을 변경된 서버로 수정후
어플리케이션 가동.

간단한 삽입기능 수행시에 에러 발생

원인 :
jdbc bug
10g에 맞는 jdbc가 아니라서 발생한 에러.

해결책 :
아래 사이트에서 현재 환경에 맞는 jdbc를 다운받고 교체한다.

http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

And

[iBatis]UncategorizedSQLException

|
org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; Select statements cannot be executed as an update.; nested exception is java.sql.SQLException: Select statements cannot be executed as an update.


<select id="deleteClubImage" parameterClass="map">
  DELETE
  FROM CLUB_IMAGE
  WHERE   IMAGE_TYPE = #imageType#
      AND CATEGORY_ID = #categoryId#
      AND SEQUENCE    = #sequence#
 </select>



DELETE문을 selet 태그로 묶었기 때문에 에러가 발생

select 태그로 묶게 되면 delete라든가 update같은 것들은 실행 못함.

result-map등을 필요로 하므로..
And

Context [] startup failed due to previous errors.... 등등;

|

 2008. 5. 29 오전 10:59:31 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
정보: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\netville-project\java\jdk1.5.0_15\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\netville-project\java\jdk1.5.0_15\jre\bin;C:\netville-project\java\jdk1.5.0_15\bin\..\jre\bin\client;C:\netville-project\java\jdk1.5.0_15\bin\..\jre\bin;C:\netville-project\java\jdk1.5.0_15\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\mysql\bin;D:\ant\bin;C:\Program Files\ESTsoft\ALZip;C:\Java\bin;C:\Program Files\ESTsoft\ALZip
2008. 5. 29 오전 10:59:31 org.apache.coyote.http11.Http11BaseProtocol init
정보: Initializing Coyote HTTP/1.1 on http-8080
2008. 5. 29 오전 10:59:31 org.apache.catalina.startup.Catalina load
정보: Initialization processed in 1953 ms
2008. 5. 29 오전 10:59:32 org.apache.catalina.core.StandardService start
정보: Starting service Catalina
2008. 5. 29 오전 10:59:32 org.apache.catalina.core.StandardEngine start
정보: Starting Servlet Engine: Apache Tomcat/5.5.26
2008. 5. 29 오전 10:59:32 org.apache.catalina.core.StandardHost start
정보: XML validation disabled
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.TldConfig).
log4j:WARN Please initialize the log4j system properly.
2008. 5. 29 오전 10:59:35 org.apache.catalina.core.StandardContext start
심각: Error listenerStart
2008. 5. 29 오전 10:59:35 org.apache.catalina.core.StandardContext start
심각: Context [/club2] startup failed due to previous errors
2008. 5. 29 오전 10:59:36 org.apache.catalina.startup.ContextConfig processDefaultWebConfig
심각: Parse error in default web.xml
java.lang.NullPointerException
 at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094)
 at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
 at org.apache.catalina.startup.ContextConfig.processDefaultWebConfig(ContextConfig.java:677)
 at org.apache.catalina.startup.ContextConfig.defaultWebConfig(ContextConfig.java:614)
 at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1043)
 at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4148)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:448)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2008. 5. 29 오전 10:59:36 org.apache.catalina.startup.ContextConfig applicationWebConfig
심각: Parse error in application web.xml file at jndi:/localhost/WEB-INF/web.xml
java.lang.NullPointerException
 at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094)
 at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
 at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:352)
 at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1044)
 at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4148)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:448)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2008. 5. 29 오전 10:59:36 org.apache.catalina.startup.ContextConfig start
심각: Marking this application unavailable due to previous error(s)
2008. 5. 29 오전 10:59:36 org.apache.catalina.core.StandardContext start
심각: Error getConfigured
2008. 5. 29 오전 10:59:36 org.apache.catalina.core.StandardContext start
심각: Context [] startup failed due to previous errors
2008. 5. 29 오전 10:59:36 org.apache.coyote.http11.Http11BaseProtocol start
정보: Starting Coyote HTTP/1.1 on http-8080
2008. 5. 29 오전 10:59:36 org.apache.jk.common.ChannelSocket init
정보: JK: ajp13 listening on /0.0.0.0:8009
2008. 5. 29 오전 10:59:37 org.apache.jk.server.JkMain start
정보: Jk running ID=0 time=0/156  config=null
2008. 5. 29 오전 10:59:37 org.apache.catalina.storeconfig.StoreLoader load
정보: Find registry server-registry.xml at classpath resource
2008. 5. 29 오전 10:59:37 org.apache.catalina.startup.Catalina start
정보: Server startup in 5891 ms


회사의 권장내용대로 이클립스를 다시 깔고 새롭게 프로젝트를 checkout 받았는데


위와같은 에러가 났고, 살짝 헤맨끝에 찾아낸 사실은


JRE가 unbounded되있었다....


  그렇다.. 체크아웃 받은 프로젝트는 "jre1.5.0_15" 라는 이름으로 정의되있었는데

새로운 환경에는 같은 이름의 JRE가 정의 되지 않았기 unbounded된 것이다.

아래 그림처럼 JRE를 Add하여 Location을 잡아주어 해결하였다.


사용자 삽입 이미지


이 글은 스프링노트에서 작성되었습니다.

And

The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

|

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 22 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

Stacktrace:
        org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
        org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
        org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        netville.servlet.filter.EncodingFilter.doFilter(EncodingFilter.java:53)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.



servlet-api.jar의 버전이 안맞아 jsp파일을 컴파일 시키지 못해서
(또는 컴파일이 된곳을 찾지 못하여)
발생하는 에러인 듯하다.(정확히 아는 분이 계시면 말씀 바람.)
확인은 안해봤지만, Tomcat6이상에서만 나는 듯하다.

jdk 5.0을 C드라이브 루트 폴더에 다시 설치하고 컴퓨터 환경변수에서 JAVA_HOME을 변경된 경로로 수정하고, 이클립스의 Preferences ->java->installed JREs 에서 새로운 jdk의 경로로 location을 잡은 후 실행시키니 잘 돌아간다..

(필요없는 환경변수는 다 지웠다. 오로지 JAVA_HOME만 남겨둔채..
이클립스로 개발만 할 때에는 다른 환경변수는 필요치 않다.)

환경변수 설정할때 경로에 빈공간(Space)가 들어가면 문제가 발생할 수도 있다고 한다..
이전 JAVA_HOME의 경로는 'Program Files' 안에 있었는데,
그게 문제 인건지도 모르겠다.

* 잘못된 내용 태클 환영입니다.

이 글은 스프링노트에서 작성되었습니다.

And

[Eclipse] JVM terminated. Exit code=-1 .......................................

|

컴퓨터를 포맷하고 새롭게 개발환경을 구축하던중에
이클립스를 설치하고 실행하려할 때

JVM terminated. Exit code=-1
.........................
..........(중략)........
..........................
-Xms40m
-Xms512m

이런 류의 경고창이 튀어나왔다.
정확한 답을 찾을 수는 없었지만 메모리 설정에 문제가 생긴 듯 하다.-_-
eclipse가 설치된 폴더에서 eclipse.ini 파일을 연 후

-Xms40m
-Xms512m

이라고 되있는 부분을

-Xms128m
-Xms256m

이라고 고친 후 실행시키면 된다.

And

[JNDI] NamingException

|

JNDI 설정으로 오라클 resource를 사용 하려했을 때 네이밍 예외가 발생하였다.
server.xml 파일을 찾기 위해 톰캣을 설치한 폴더의 server.xml에서 resource를 등록하고
실행을 하였더니 아래와 같은 에러가 발생하였다.

이유인 즉슨, 이클립스에서는 서버(톰캣 등)에 대한 설정들을 별도로 관리하고 있기 때문에
톰캣 폴더의 server.xml에 등록을 하여도 반응을 하지 않는다.

server.xml 파일의 수정은 이클립스의 관리를 받는 녀석한테서 이루어져야 한다.
이클립스의 Project Explorer에서 Servers항목을 열어보면 서버관련 설정파일을 볼 수 있다.
필요에 따라 수정, 등록을 하고 서버를 재가동 시키면 된다.
(때에 따라 곧바로 반영이 안될때가 있는데, 이클립스를 닫았다가 다시 실행하면 된다.)
또는, 자신의 workspace안에 있는 Servers 폴더를 열어서 수정해주어도 된다.

사용자 삽입 이미지

























2007. 12. 22 오후 12:10:22 org.apache.catalina.core.StandardWrapperValve invoke
심각: Servlet.service() for servlet jsp threw exception
javax.naming.NamingException
 at com.netville.njdf.connector.DBConnector.getDataSource(Unknown Source)
 at com.netville.njdf.connector.DBConnector.getConnection(Unknown Source)
 at org.apache.jsp.testOracle_jsp._jspService(testOracle_jsp.java:60)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
 at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
 at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
 at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
 at java.lang.Thread.run(Unknown Source)

And
prev | 1 | 2 | next