File - new - maven - Filter에서 org.apache.maven.archetypes
에서 선택한다.
groupId는 당신의 프로젝트를 모든 프로젝트 사이에서 고유하게 식별하게 해 주는 것이다.
따라서, groupId에는 네이밍 스키마를 적용하도록 한다.
org.apache.maven
, org.apache.commons
프로젝트 구조를 사용하면 잘 구분되는 groupId를 만들 수 있다.
현재 프로젝트가 다중 모듈 프로젝트라면, 부모 groupId에 현재 프로젝트의 식별자를 추가하는 방식.
예: org.apache.maven
, org.apache.maven.plugins
, org.apache.maven.reporting
artifactId는 버전 정보를 생략한 jar
파일의 이름이다.
만약 써드 파티 jar
파일이라면, 할당된 이름을 사용해야 한다.
maven
, commons-math
maven을 사용하는 가장 큰 이유. 필요한 라이브러리를 편리하게 추가 할 수 있다. 추가한 후에는 꼭 maven update를 한다. (art + F5)
jstl 이나 EL 구문을 사용하고, servlet을 제대로 동작시키기 위해서는
Dynamic web module의 버전이 2.4 이상이어야 한다. 버전이 낮다면 업그레이드를 해줘야함.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<properties>
<!-- web.xml 파일을 삭제해도 eclipse에서 오류가 발생하지 않는다. -->
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<!-- json 라이브러리 databind jackson-core, jackson-annotaion에 의존성이 있다. -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- mysql과 같은 version으로 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<failOnMissingWebXml>false</failOnMissingWebXml>
을 추가함으로 web.xml
은 삭제해도 괜찮다.
추가하지 않는다면 web.xml의 코드를 아래와 같이 변경한다.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>Archetype Created Web Application</display-name>
</web-app>
org.elclipse.wst.common.project.facet.core.xml
jst 👉 3.1 로 변경
maven update 후 이클립스 재시작