Servlet 3.0 API에 대한 Maven 종속성?
Maven 2에 Servlet 3.0 API를로드하도록 지시하려면 어떻게해야합니까?
나는 시도했다 :
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
http://repository.jboss.com/maven2/를 사용 하지만 어떤 리포지토리가 정확합니까?
추가:
전체 Java EE 6 API 및 다음 설정에 대한 종속성으로 작동합니다.
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
서블릿 API를 종속성으로 추가하는 것을 선호하지만 "Brabster"는 별도의 종속성이 Java EE 6 프로파일로 대체 된 것이 옳을 수 있습니다. 이 가정을 확인하는 출처가 있습니까?
서블릿 API 만 종속성으로 추가하고 싶습니다.
솔직히 말해서, 나는 왜 그런지 이해하지 못하지만 결코 신경 쓰지 않습니다 ...
Brabster 별도의 종속성이 Java EE 6 프로파일로 대체되었습니다. 이 가정을 확인하는 출처가 있습니까?
Java.net의 maven 저장소는 실제로 WebProfile에 대해 다음 아티팩트를 제공합니다.
<repositories>
<repository>
<id>java.net2</id>
<name>Repository hosting the jee6 artifacts</name>
<url>http://download.java.net/maven/2</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
이 jar에는 Servlet 3.0, EJB Lite 3.1, JPA 2.0, JSP 2.2, EL 1.2, JSTL 1.2, JSF 2.0, JTA 1.1, JSR-45, JSR-250이 포함됩니다.
그러나 내 지식으로는이 API가 java.net 저장소 또는 다른 곳에서 별도로 배포되지 않는다고 말할 수는 없습니다. 예를 들어 (특별한 경우 일 수 있음) JSF 2.0 API는 java.net 저장소에서 별도로 사용할 수 있습니다.
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.0.0-b10</version>
<scope>provided</scope>
</dependency>
그리고 실제로 거기javax.servlet-3.0.jar
에서 가져 와서 자신의 저장소에 설치할 수 있습니다.
최근에 추가 된 것 같습니다.
http://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.0.1/
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
또는 Tomcat Server 7.0.X에도 제공되는 Servlet 3.0 API와 함께 Central Maven Repository를 사용할 수 있습니다
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>7.0.21</version>
<scope>provided</scope>
</dependency>
여기에서 : http://repo2.maven.org/maven2/org/apache/tomcat/tomcat-servlet-api/7.0.21/
불행히도 javaee- (web) -api를 종속성으로 추가한다고해서 Javadoc 또는 소스를 서블릿 API에 제공하여 IDE 내에서 찾아 볼 수는 없습니다. Servlet API 소스 / javadoc이 필요한 경우 pom.xml에 다음을 추가 할 수 있습니다 (최소한 JBoss & Glassfish에서 작동).
저장소:
<repository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Repository Group</name>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
의존:
<!-- Servlet 3.0 Api Specification -->
<dependency>
<groupId>org.jboss.spec.javax.servlet</groupId>
<artifactId>jboss-servlet-api_3.0_spec</artifactId>
<version>1.0.0.Beta2</version>
<scope>provided</scope>
</dependency>
필자는 의존성에서 javaee-api를 완전히 제거하고 Java EE 6의 모든 부분에 대한 소스 및 Javadoc을 얻기 위해 이산 부분 (javax.ejb, javax.faces, ...)으로 대체했습니다.
편집하다:
다음은 동등한 Glassfish 종속성입니다 (어떤 응용 프로그램 서버를 사용하든 두 종속성이 모두 작동해야 함)
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.servlet</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
여기 내가 사용하는 것이 있습니다. 이 모든 것은 중앙에 있으며 출처가 있습니다.
Tomcat 7 (Java 7, Servlet 3.0)의 경우
주 – 서블릿, JSP 및 EL API는 Tomcat에서 제공됩니다. JSTL (사용 된 경우) 만 웹앱과 번들로 제공되어야합니다.
<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>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Tomcat 8 (Java 8, Servlet 3.1)의 경우
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Apache Geronimo 프로젝트는 Maven Central 저장소에 Servlet 3.0 API 종속성을 제공합니다.
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_3.0_spec</artifactId>
<version>1.0</version>
</dependency>
9 월부터 DZone 의 Servlet 3.0 API에 대한 예제 POM을 발견했습니다 .
http://download.java.net/maven/2/ 에서 java.net 저장소를 사용하도록 제안 하십시오.
Java EE API가 있습니다 (예 : http://download.java.net/maven/2/javax/javaee-web-api/6.0/ POM 포함). :
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
</dependency>
API의 버전 규칙이 새로운 '프로파일'의 일부로 전체 EE 사양 (예 : Java EE 6 대 Servlets 3.0)의 버전과 일치하도록 변경되었다고 생각합니다. JAR을 살펴보면 3.0 서블릿 항목이 모두있는 것처럼 보입니다. 즐겨!
새로 온 사람들을 위해서만.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
Java EE 6 종속성을 포함하는 편리한 방법 (JBoss 권장)이 아래에 설명되어 있습니다. 결과적으로 javaee-web-api에서와 같이 하나의 jar 파일에 의존성이 별도로 배치되므로 소스 파일과 라이브러리의 javadoc을 maven 저장소에서 다운로드 할 수 있습니다.
<properties>
<jboss.javaee6.spec.version>2.0.0.Final</jboss.javaee6.spec.version>
</properties>
<dependencies>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-web-6.0</artifactId>
<version>${jboss.javaee6.spec.version}</version>
<scope>provided</scope>
<type>pom</type>
</dependency>
</dependencies>
개별 종속성 만 포함하기 위해 dependencyManagement
섹션 및 범위를 import
사용할 수 있습니다.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee6-specs-bom</artifactId>
<version>${jboss.javaee6.spec.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- No need specifying version and scope. It is defaulted to version and scope from Bill of Materials (bom) imported pom. -->
<dependency>
<groupId>org.jboss.spec.javax.servlet</groupId>
<artifactId>jboss-servlet-api_3.0_spec</artifactId>
</dependency>
</dependencies>
이 코드를 사용해보십시오 ...
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
</dependency>
참고 URL : https://stackoverflow.com/questions/1979957/maven-dependency-for-servlet-3-0-api
'IT story' 카테고리의 다른 글
Bash의 간단한 논리 연산자 (0) | 2020.04.18 |
---|---|
끈적 끈적하고 비 스틱 세션 (0) | 2020.04.18 |
Visual Studio Code에 빠른 변경 탭 기능이 있습니까? (0) | 2020.04.18 |
변경 불가능한 콜렉션에서 변경 불가능한 "add"메소드의 가장 좋은 이름은 무엇입니까? (0) | 2020.04.18 |
Android Studio에서 데이터베이스 파일 내용보기 (0) | 2020.04.18 |