슈퍼 클래스 "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' 탭에서 서버 이름을 확인합니다.
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' }
Project → Properties → 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(임의의 서버)
Project → Properties → Target Runtimes → *Apache Tomcat이 작동했습니다.Facets에는 Target Runtime이 없습니다(Eclipse v4.4(Luna)에 있습니다).
서버 런타임에 Tomcat 서버를 추가하면 다음과 같은 작업이 수행됩니다.
Project Properties(프로젝트 속성) → Target Runtime(대상 런타임) → 목록에서 서버를 선택합니다. "JBoss Runtime(JBoss 런타임)" →
Apache의 경우 Apache Runtime을 선택할 수 있습니다.
다음의 순서에 의해, 큰 도움이 됩니다.
서버를 인스톨 하지 않은 경우는, 다음의 순서를 실행할 필요가 있습니다.
메뉴 창 → 기본 설정 → Expend Server → Runtime environment → Add → 이름을 선택한 다음 PC에 이미 설치된 Apache 서버 경로를 선택합니다(다운로드 및 설치를 누를 수도 있음). →
자세한 내용은 여기를 클릭해 주세요.
Tomcat 서버를 추가합니다.
Project Properties → Java 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 Path → Add Library → 목록에서 "Server Runtime" 선택 → Next → "Apache Tomcat" 선택 → Finish.
project → Properties → Project 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
'programing' 카테고리의 다른 글
라라벨:일반적인 오류: 1615 준비된 스테이트먼트를 다시 준비해야 합니다. (0) | 2022.10.28 |
---|---|
Mac OSX에서 JDK 7을 사용하는 방법 (0) | 2022.10.28 |
MySQL에서 전화번호에 가장 적합한 데이터 타입은 무엇이며, 어떤 Java 타입 매핑을 사용해야 합니까? (0) | 2022.10.28 |
소유자와 일치하는 피벗에서 레코드 검색 (0) | 2022.10.28 |
Java에서의 인스턴스 회피 (0) | 2022.10.19 |