JAVA maven 개발환경설정

용상윤·2021년 4월 11일
0

📖 목차

  • JAVA WAS
  • 디렉토리 구조
  • 개발환경세팅

1. JAVA WAS

2. 디렉토리 구조

3. 개발환경세팅

maven project

File - new - maven - Filter에서 org.apache.maven.archetypes 에서 선택한다.

groupId, artifactId 네이밍

groupId

  • groupId는 당신의 프로젝트를 모든 프로젝트 사이에서 고유하게 식별하게 해 주는 것이다.

  • 따라서, groupId에는 네이밍 스키마를 적용하도록 한다.

    • groupId는 package 명명 규칙을 따르도록 한다.
    • 즉, 최소한 당신이 컨트롤하는 도메인 네임이어야 한다.
    • 하위 그룹은 얼마든지 추가할 수 있다.
    • 예: org.apache.maven , org.apache.commons
  • 프로젝트 구조를 사용하면 잘 구분되는 groupId를 만들 수 있다.

    • 현재 프로젝트가 다중 모듈 프로젝트라면, 부모 groupId에 현재 프로젝트의 식별자를 추가하는 방식.

    • 예: org.apache.maven , org.apache.maven.plugins , org.apache.maven.reporting

artifactId

  • artifactId는 버전 정보를 생략한 jar파일의 이름이다.

    • 이름은 원하는 것으로 아무거나 정해도 괜찮다.
    • 단, 소문자로만 작성할 것.
    • 단, 특수문자는 사용하지 않는다.
  • 만약 써드 파티 jar 파일이라면, 할당된 이름을 사용해야 한다.

    • 예: maven , commons-math

pom.xml

maven을 사용하는 가장 큰 이유. 필요한 라이브러리를 편리하게 추가 할 수 있다. 추가한 후에는 꼭 maven update를 한다. (art + F5)

jst 버전 업그레이드

jstl 이나 EL 구문을 사용하고, servlet을 제대로 동작시키기 위해서는
Dynamic web module의 버전이 2.4 이상이어야 한다. 버전이 낮다면 업그레이드를 해줘야함.

  1. pom.xml 에 아래와 같이 필요한 라이브러리를 추가한다.
  <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>
  1. <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>
  2. org.elclipse.wst.common.project.facet.core.xml
    jst 👉 3.1 로 변경

  3. maven update 후 이클립스 재시작

profile
달리는 중!

0개의 댓글