티스토리 뷰

728x90

0. 요즘에는 거의 spring initializer을 많이 사용하므로 아래처럼 스프링 개발하는 경우는 거의 없다.

  0-1 다만 간단한 console프로그램이나 webapp을 개발할 경우와 spring boot 없이 spring을 사용하는 경우는 편리하게 프로젝트를 생성할 수 있다.

 

1. Maven Archetype은 프로젝트 template이다.

  1-1 아파치 메이븐은 표준 형태의 틀을 제공하고 있다. 

  1-2 아파치 이외에도 archetype을 제공한다.

  1-3 보통은 너무 오래되어 별로 유용하지는 않다.

  1-4 공식 홈페이지에서 안내하는 archetype은 다 없어지고 아래의 몇개 만 남아 있다.

 

  1-5 mvn archetype:generate 모듈이름 으로 생성할 수도 있다.

 

2. 자바와 관련된 플러그인이 기본 설치가 되어 있어야 한다.

 

3. vs code에서 ctrl-shift-p해서 java: Create Java Project를 고른다.

 

 

  3-1 build tool에 maven을 고른다.

 

  3-2 화면에 maven archetype이 엄청나게 나오는데 적절하게 고르면 된다. 보통 quickstart나 webapp을 많이 쓴다.

 

 

  3-3 버전은 1.4를 사용하면 된다.

 

 

  3-4 저장할 폴더를 설정해 주면 아래처럼 interactive하게 설정값을 입력해 주면 프로젝트가 생성된다.

 

 

  3-5 만들어진 폴더를 vs code로 열면 프로젝트가 처리된다.

 

 

4. 생성된 프로젝트의 pom.xml은 java 1.7 기반의 오랜된 형식을 가지고 있다. junit도 4버전을 사용한다.

  3-1 아래처럼 필요한 부분만 남기고 정리하면 된다. 테스트 의존성이 없어졌으니 테스트 파일도 지워버린다.

 

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>pe.pilseong</groupId>
  <artifactId>hello-maven</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>hello-maven</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>11</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
  </properties>
  
</project>

 

5. 빌드를 하려면 Maven Projects에 나오는 maven 항목에 오른 버튼 누르고 package를 만들면 된다.

 

 

  5-1 결과는 아래처럼 나온다. cmd로 한 것과 완전 동일함을 알 수 있다.

 

 

6. 외부 라이브러리 사용하기 

  6-1 이전 포스트 처럼 apache commons lang3를 사용한다.

    6-1-1 이전과 완전동일하게 mvnRepository.org에서 검색한 라이브러리 dependency를 붙인다.

 

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>pe.pilseong</groupId>
  <artifactId>hello-maven</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>hello-maven</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>11</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.11</version>
    </dependency>
  </dependencies>

</project>

 

    6-1-2 코드를 수정한다.

 

package pe.pilseong;

import org.apache.commons.lang3.StringUtils;

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello Maven World");
    System.out.println(StringUtils.capitalize("hello maven world"));
  }
}

 

  6-2 실행 결과

 

  6-2-1 코드렌즈의 Run을 실행하면 아래의 결과를 볼 수 있다.

 

728x90
댓글