티스토리 뷰
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을 실행하면 아래의 결과를 볼 수 있다.
'Side Technologies' 카테고리의 다른 글
Maven : Maven POM (0) | 2020.07.20 |
---|---|
Maven : Maven Coordinates와 Repository (0) | 2020.07.20 |
Maven : 명령실행하기 (0) | 2020.07.20 |
Maven : 기본적으로 하는 일 (0) | 2020.07.20 |
MySql : 테이블 이름 바꾸기, 테이블의 Primary Key 지정 삭제하기, 컬럼 위치 변경하기, 테이블 auto_increment 초기화 (0) | 2020.05.18 |
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- 설정
- 스프링
- login
- WebMvc
- Spring Security
- 설정하기
- 스프링부트
- RestTemplate
- spring boot
- 로그인
- Rest
- 매핑
- one-to-one
- 상속
- Security
- form
- Angular
- hibernate
- Spring
- XML
- Validation
- 자바
- jsp
- crud
- 외부파일
- 하이버네이트
- mapping
- Many-To-Many
- MYSQL
- one-to-many