정보: 서블릿 [FirstServlet]을(를) 가용하지 않은 상태로 표시합니다. 2월 08, 2022 11:25:03 오전 org.apache.catalina.core.StandardWrapperValve invoke 심각: 서블릿 [FirstServlet]을(를) 위해 할당하던 중 예외 발생 java.lang.ClassNotFoundException: com.servlet.FirstServlet at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1415) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1223) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:533) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:149) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1071) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:789) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:366) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:847) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1680) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

0-0. Windows Key → 시스템 환경 변수 편집 검색 후 실행 

0-1. [시스템 속성] → [고급] → [환경 변수] 선택

0-2. [환경 변수] → [시스템 변수] → [새로 만들기] → CATALINA_HOME 생성 및 경로 입력

1. [환경 변수] → [시스템 변수] → [새로 만들기]
2. [시스템 변수 편집] → 변수 이름 : CATALINA_HOME / 변수 값 : C:\특정 경로\apache-tomcat-8.5.75
3. [시스템 변수 편집] →확인 버튼 마우스로  클릭
4. [환경 변수] → 확인 버튼 마우스로 클릭

0-3. [시스템 속성] → [고급] → 확인 버튼 마우스로 클릭

========================================================================

1. [Eclipse] → [Project] → [Clean...]

2. [Eclipse] → [Project] → [Properties] → [Java Build Path] → [Order and Export] → [JRE System Library] Check

3. [Eclipse] → [Project] → [Build Automatically] Check

 

* 참고 링크 : 

https://maternalgrandfather.tistory.com/entry/%EC%9E%90%EB%B0%94-javalangClassNotFoundException-%EC%98%A4%EB%A5%98-%EC%97%84%EC%B2%AD-%EA%B0%84%EB%8B%A8%ED%95%9C-%ED%95%B4%EA%B2%B0%EB%B2%95

 

(자바) java.lang.ClassNotFoundException 오류 엄청 간단한 해결법

자바에서 java.lang.ClassNotFoundException 오류 해결하는 방법입니다. 자바 프로그래밍할 때, java.lang.ClassNotFoundException 라는 오류가 뜨곤 합니다. 잘못한 게 없는 것 같은데 말이죠. Error: Could not..

maternalgrandfather.tistory.com

 

servlet 공부하다가 에러가 발생하여 결과 확인을 못하고 있다.

http://archive.apache.org/dist/tomcat/tomcat-connectors/native/

 

Index of /dist/tomcat/tomcat-connectors/native

 

archive.apache.org

 

1. tcnative-1.dll 파일을 복사하면 된다고 하여 해보니 다음 에러 발생

심각: APR 기반의 Apache Tomcat Native 라이브러리가 호환되지 않는 버전 [1.1.20]이(가) 설치되어 있습니다. Tomcat은 버전 [1.2.14]을(를) 요구합니다.

2. 버전을 맞춰서 다시 실행해보니 아래와 같이 에러 발생

Can't load IA 32-bit .dll on a AMD 64-bit platform

 

3. tcnative-1.dll 1.2.14 version 64비트 파일로 다시 복사 후 실행 결과 아래와 같은 에러 발생

경고: APR 기반 Apache Tomcat Native 라이브러리를 로드하지 못했습니다. 보고된 오류는 [C:\Program Files\Eclipse Adoptium\jdk-8.0.312.7-hotspot\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform]입니다. java.lang.UnsatisfiedLinkError: C:\Program Files\Eclipse Adoptium\jdk-8.0.312.7-hotspot\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
2월 07, 2022 1:05:36 오후 org.apache.catalina.core.ApplicationContext log 정보: 서블릿 [WorldServlet]을(를) 가용하지 않은 상태로 표시합니다. 2월 07, 2022 1:05:36 오후 org.apache.catalina.core.StandardWrapperValve invoke 심각: 서블릿 [WorldServlet]을(를) 위해 할당하던 중 예외 발생 java.lang.ClassNotFoundException: com.servlet.WorldServlet at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1415) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1223) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:533) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:149) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1071) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:789) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:366) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:847) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1680) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

 

4. tcnative-1.dll 파일 버전을 1.2.30으로 복사하니 console에서 에러는 안뜬다.

 

정보: APR 기반의 Apache Tomcat Native 라이브러리의 예전 버전 [1.2.14](이)가 설치되어 있습니다. Tomcat은 최소 버전으로서 [1.2.30]을(를) 추천합니다.

 

5. 실행 결과는 동일하게 404 에러가 뜸

설정 다시 확인해봐야 될 듯

==================================================================

마지막 설정

6. [Eclipse] → [Window] → [Preferences] 

7. [Pregerences] → [Java] → [Compiler] → [Errors/Warnings] → [Deprecated and restricted API] → [Forbidden reference (access rules)] : Error - Warning으로 변경 → [Apply and Close]

 

404 에러 잡느라고 하루종일 걸렸다.

* 참고 링크 : https://jellypudding.tistory.com/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4%EC%97%90%EC%84%9C-servletapijar-%EC%9D%B8%EC%8B%9D%EB%AA%BB%ED%95%A0%EB%95%8C-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95

+ Recent posts