kok202
Maven pom.xml

2019. 6. 15. 02:37[정리] 직무별 개념 정리

기본 설정

출처 : https://araikuma.tistory.com/447

<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>com.kok202</groupId> 
	<artifactId>myproject</artifactId> 
	<version>0.0.1-SNAPSHOT</version> 
	<packaging>jar</packaging> 
    
	<name>myProject</name> 
	<description>kok202's demo project</description>
	
	<properties>
		<myproject.java.version>3.8.1</myproject.j.version>
		<myproject.junit.version>3.8.1</myproject.junit.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies> 
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency> 
			<groupId>junit</groupId> 
			<artifactId>junit</artifactId>
			<version>${myproject.junit.version}</version>
			<scope>test</scope>
		</dependency> 
	</dependencies>
	
	<build>
		<plugins>
			<!-- Spring boot 를 maven 으로 build 하는 설정 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

modelVersion : pom.xml 의 버전 (일반적으로 4.0.0)

groupId : 회사 ID

artifactId : 프로젝트 ID

version : 프로젝트 배포 버전

packaging : jar 로 패키징 해서 빌드 하겠다.

name : 프로젝트 이름 (일반적으로 artifactId 와 같다)

description : 프로젝트에대한 간단한 설명

properties : pom.xml 에서 사용하는 설정 정보들을 모아두는 곳

dependencies : 프로젝트가 사용하는 외부 라이브러리, 모듈들을 정의

 

생성되는 jar 파일의 이름

= artifactId + version + packaging

= myproject-0.0.1-SNAPSHOT.jar

 

 

 

 

 

 

build 설정 : 스프링 부트로 만든 프로젝트를 실행가능한 jar 파일로 만들기

일반적인 jar 파일 생성과 실행 방법

java -jar 를 통해서만 실행 가능하다.

프로젝트_경로$ mvn package
프로젝트_경로$ java -jar target/myproject-0.0.1-SNAPSHOT.jar

 

 

 

실행 가능한 jar 파일 생성과 실행 방법

pom.xml

<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>com.kok202</groupId> 
	<artifactId>myproject</artifactId> 
	<version>0.0.1-SNAPSHOT</version> 
	<packaging>jar</packaging> 
	<name>myProject</name> 
	<description>kok202's demo project</description>
	
	<properties>
		<myproject.java.version>3.8.1</myproject.j.version>
		<myproject.junit.version>3.8.1</myproject.junit.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies> 
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency> 
			<groupId>junit</groupId> 
			<artifactId>junit</artifactId>
			<version>${myproject.junit.version}</version>
			<scope>test</scope>
		</dependency> 
	</dependencies>
	
	<build>
		<plugins>
			<!-- Spring boot 를 maven 으로 build 하는 설정 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<executable>true</executable>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

이미 생성된 package 를 지우고 다시 생성

java -jar 가 없어도 실행 가능한 모습

프로젝트_경로$ mvn clean package
프로젝트_경로$ target/myproject-0.0.1-SNAPSHOT.jar

 

 

 

 

 

build 설정 : 모든 의존 jar를 포함시켜서 build 하기

출처 : https://www.baeldung.com/spring-boot-main-class

<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>com.kok202</groupId> 
	<artifactId>myproject</artifactId> 
	<version>0.0.1-SNAPSHOT</version> 
	<packaging>jar</packaging> 
	<name>myProject</name> 
	<description>kok202's demo project</description>
	
	<properties>
		<myproject.java.version>3.8.1</myproject.j.version>
		<myproject.junit.version>3.8.1</myproject.junit.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies> 
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency> 
			<groupId>junit</groupId> 
			<artifactId>junit</artifactId>
			<version>${myproject.junit.version}</version>
			<scope>test</scope>
		</dependency> 
	</dependencies>
	
	<build>
		<plugins>
			<!-- Spring boot 를 maven 으로 build 하는 설정 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<executable>true</executable>
					<mainClass>패키지 포함한 클래스 전체 이름</mainClass>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

스프링 부트가 아닌 경우 : https://gs.saro.me/dev?tn=443

 

 

 

 

'[정리] 직무별 개념 정리' 카테고리의 다른 글

배포 시나리오  (0) 2019.06.07
[2019.03.13] 마이크로 서비스 아키텍처  (0) 2019.03.13
[2019.02.09] POJO  (0) 2019.02.09
[2019.02.09] TDD를 위한 JUnit  (0) 2019.02.09