programing

슈퍼 클래스 "javax.servlet.http"Java 빌드 경로에서 HttpServlet"을 찾을 수 없습니다.

firstcheck 2022. 10. 28. 21:02
반응형

슈퍼 클래스 "javax.servlet.http"Java 빌드 경로에서 HttpServlet"을 찾을 수 없습니다.

이클립스에서 메이븐 통합으로 만든 프로젝트가 있습니다.모두 정상적으로 동작하지만, 모든 JSP 파일의 워크스페이스에는 다음과 같은 것이 있습니다.

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

첫 번째 문자열 위치:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

기본 다이내믹 웹 프로젝트를 만들고 JSP를 만들면 모두 정상이며 오류는 없습니다.

먼저 실행을 추가하고 프로젝트 속성을 선택하십시오.그런 다음 이미지에 표시된 'Runtimes' 탭에서 서버 이름을 확인합니다.

이미지에서와 같이 Project Facets에서 실행 시간을 선택합니다.

servlet-api-3.1.jar당신의 의존관계에 있습니다.

  • 메이븐

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    
  • 그라들

    configurations {
        provided
    }
    sourceSets {
        main { compileClasspath += configurations.provided }
    }
    dependencies {
        provided 'javax.servlet:javax.servlet-api:3.1.0'
    }
    

ProjectProperties → Target Runtimes → Apache Tomcat이 작동했습니다.Facets에는 Target Runtime이 없습니다(Eclipse v4.2(Juno)에 있습니다).

개미 프로젝트의 경우:

servlet-api.lib더입니니다다

Maven 프로젝트의 경우:

해 주세요.POM.xml.

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

다른 방법으로는 프로젝트 측면을 업데이트하여 적절한 서버를 선택하는 방법이 있습니다.

다음 위치에 있는 이 상자를 선택합니다.

프로젝트 → 속성대상 런타임 → Apache Tomcat(임의의 서버)

ProjectProperties → Target Runtimes → *Apache Tomcat이 작동했습니다.Facets에는 Target Runtime이 없습니다(Eclipse v4.4(Luna)에 있습니다).

서버 런타임에 Tomcat 서버를 추가하면 다음과 같은 작업이 수행됩니다.

Project Properties(프로젝트 속성) → Target Runtime(대상 런타임) → 목록에서 서버를 선택합니다. "JBoss Runtime(JBoss 런타임)" →

Apache의 경우 Apache Runtime을 선택할 수 있습니다.

여기에 이미지 설명을 입력하십시오.

다음의 순서에 의해, 큰 도움이 됩니다.

  1. 서버를 인스톨 하지 않은 경우는, 다음의 순서를 실행할 필요가 있습니다.

    메뉴 창 → 기본 설정 → Expend Server → Runtime environmentAdd → 이름을 선택한 다음 PC에 이미 설치된 Apache 서버 경로를 선택합니다(다운로드 및 설치를 누를 수도 있음). →

자세한 내용은 여기를 클릭해 주세요.

  1. Tomcat 서버를 추가합니다.

    Project PropertiesJava Build Path → Add Library → 목록에서 "Server Runtime" 선택* → Next → "Apache Tomcat" 선택 →

레퍼런스 # 이 답변

을 그냥 의 의존관계들에 .pom.xml파일:

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

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

서버 런타임에 Tomcat 서버를 추가하면 다음과 같은 작업이 수행됩니다.

프로젝트 속성 → Java Build PathAdd Library → 목록에서 "Server Runtime" 선택 → Next → "Apache Tomcat" 선택 → Finish.

projectPropertiesProject Facets → Target Runtimes → VMware Server를 선택합니다.

그것은 나에게 효과가 있었다.

아직 답이 없기 때문에 Maven 의존관계 이외의 ops build에 문제가 있는 것 같습니다.

Maven을 사용하지 않는 동안 svn에서 개발 환경을 재구축할 때도 가끔 같은 문제가 발생하며 항상 그 이유를 잊고 그것을 파악해야 합니다.유감스럽게도 이것은 이클립스의 문제인 것 같습니다.

동적 웹 프로젝트 또는 Tomcat 종속 프로젝트 중 하나를 선택하여 한 번 작동한 프로젝트에서 이러한 오류를 모두 제거하고 빌드 순서에서 종속성을 이동할 수 있습니다.이렇게 하면 모든 프로젝트가 올바르게 재구축되고 모든 오류가 해결됩니다.

웹 프로젝트를 오른쪽 클릭하여 "빌드 경로" -> "빌드 경로 구성"을 선택합니다."Order and Export(주문 및 내보내기)" 탭으로 이동한 다음 라이브러리 또는 jar 항목을 선택하고 위 또는 아래로 이동합니다.JRE 시스템 라이브러리를 사용하여 맨 위로 옮겼습니다.

OK(확인)를 클릭하면 빨간색이 모두 사라집니다!

Maven을 사용하지 않을 경우 javax.servlet-api.jar를 프로젝트 lib 폴더에 놓습니다.

JBoss의 경우...프로젝트 → Java 경로 빌드 → 외부 JAR 파일 추가를 마우스 오른쪽 버튼으로 클릭합니다.

그런 다음 jboss-folder → Common → lib → servlet-api.jar로 이동합니다.

. . 를 클릭하여 프로젝트를 새로 고친 후 실행합니다.

어떠한 이유로도 동작하지 않는 경우는, 커맨드 라인으로부터 구축해 주세요.

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 clean

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 compile

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 dist

언급URL : https://stackoverflow.com/questions/22756153/the-superclass-javax-servlet-http-httpservlet-was-not-found-on-the-java-build

반응형