Programming

가져 오기 javax.servlet을 해결할 수 없습니다.

procodes 2020. 6. 30. 21:46
반응형

가져 오기 javax.servlet을 해결할 수 없습니다.


이 질문에는 이미 답변이 있습니다.

웹 응용 프로그램을 개발하기 위해 Java EE

이클립스

를 사용하려고 합니다.

Tomcat

을 내

서버

로 사용해야 합니다 . Tomcat을 다운로드했는데 실행 중입니다. 그러나 내 프로그램은 컴파일되지 않습니다.다음과 같은 오류가 발생합니다.

가져 오기 javax.servlet을 해결할 수 없습니다.

내가 무엇을해야 하나?


클래스 경로에 서블릿 API를 추가해야합니다. 톰캣 6.0에서이라는 JAR에

servlet-api.jar

Tomcat의에서

lib

폴더. 해당 JAR에 대한 참조를 프로젝트의 클래스 경로에 추가하거나 JAR의 사본을 Eclipse 프로젝트에 넣고 거기에서 클래스 경로에 추가 할 수 있습니다.Tomcat의

lib

폴더에 JAR을 두려면 다음을 수행하십시오 .

  • 프로젝트를 마우스 오른쪽 단추로 클릭하고 특성을 클릭하십시오 .
  • Java 빌드 경로를 선택하십시오 .
  • 라이브러리 탭을 클릭 하십시오
  • 외부 JAR 추가 ...를 클릭 하십시오.
  • 찾아서 servlet-api.jar선택하십시오.
  • 확인클릭 하여 빌드 경로를 업데이트하십시오.

또는 JAR을 프로젝트에 복사하는 경우 :

  • 프로젝트를 마우스 오른쪽 단추로 클릭하고 특성을 클릭하십시오 .
  • Java 빌드 경로를 선택하십시오 .
  • JAR 추가 ...를 클릭 하십시오.
  • servlet-api.jar프로젝트에서 찾아서 선택하십시오.
  • 확인클릭 하여 빌드 경로를 업데이트하십시오.

아직 완료하지 않은 경우

서버

보기 에서 Tomcat을 통합해야합니다 . 거기를 마우스 오른쪽 단추로 클릭하고

새로 작성> 서버를

선택하십시오 . 목록에서 적절한 Tomcat 버전을 선택하고 마법사를 완료하십시오.

동적 웹 프로젝트

를 작성할 때 첫 번째 마법사 단계 의 목록에서 통합 서버를

대상 런타임

으로 선택해야합니다 .또는 기존

동적 웹 프로젝트가

있는 경우 프로젝트 속성의

대상 런타임

항목에서 이를 설정 / 변경할 수 있습니다. 그런 다음 Eclipse는 모든 라이브러리를 빌드 경로에 자동으로 추가합니다 (프로젝트에 사본이 없어도).


POM에서 종속성 범위를 '제공됨'으로 설정해야합니다.

http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

<dependency>  
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.4</version>
  <scope>provided</scope>
</dependency>

그러면 모든 것이 잘 될 것입니다.


 

servlet-api.jar

클래스 경로에를 추가하십시오 . Tomcat의 lib 폴더에서 가져올 수 있습니다.


"Dynamic Web Project"에 사용하려는 설치된 서버에 대한 참조가 없으므로 서버가 제공하는 서블릿 API에 대한 참조가 없기 때문에 동일한 문제가 발생했습니다.다음 단계는 Java 빌드 경로 (

Eclipse 버전 : Luna

)에 추가 Servlet-API를 추가하지 않고 해결했습니다 .

  • "Dynamic Web Project"를 마우스 오른쪽 버튼으로 클릭하십시오 .
  • 속성 선택
  • "속성"마법사의 왼쪽에있는 목록에서 프로젝트 패싯선택 하십시오.
  • 마법사의 오른쪽에 Runtimes 라는 탭이 나타납니다 . 런타임 탭을 선택하고 서블릿을 실행하려는 서버확인하십시오 .

편집 :

나열된 서버가 없으면 런타임 탭에서 새 서버를 만들 수 있습니다


pom.xml에 추가

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
</dependency>

이 컴파일 오류가 발생하면 서블릿 jar을 클래스 경로에 포함하지 않은 것입니다. 이 jar을 포함하는 올바른 방법은 Eclipse 프로젝트에 Server Runtime jar을 추가하는 것입니다. 이 문제를 해결하려면 아래 단계를 따라야합니다. http://www.java2s.com/Code/Jar/s/Downloadservletapijar.htm 에서 servlet-api.jar을 다운로드 할 수 있습니다

.

 

Save it in directory. Right click on project -> go to properties->Buildpath and follow the steps.

 

참고 :

화면에 표시된 병은 올바른 병이 아닙니다.단계를 수행하여 구성 할 수 있습니다.

enter image description hereenter image description hereenter image description hereenter image description here


Had the same problem in Eclipse. For some reason I didn't have the servlet.jar file in my build path. What I wound up doing was copying a "lib" folder from another project of mine to the project I was working on, then manually going into that folder and adding the servlet.jar file to the build path (option shows up when you right-click on the file in the project explorer).

참고URL : https://stackoverflow.com/questions/4119448/the-import-javax-servlet-cant-be-resolved

반응형