Develop
[Spring-Boot] eclipse에서 spring boot + maven 프로젝트 생성하기 / 실패함 이방법 사용x 본문
[Spring-Boot] eclipse에서 spring boot + maven 프로젝트 생성하기 / 실패함 이방법 사용x
개발 기록 2024. 3. 5. 10:46
eclipse에서 스프링부트 메이븐 프로젝트 생성하기
1. Maven 새 프로젝트 만들기
1-1
File
=> New
=> Maven Project
만약 없다면 Other에 들어가서 찾기
1-2
Next
1-3
maven-archetype-webapp 검색
=> org.apache.maven.archetypes 선택
=> next
1-4
Group Id 와 Artifact Id 를 입력후 Finish
* Group Id
: 프로젝트를 식별하는 ID 로 모든 프로젝트 사이에서 고유하게 식별하게 해 준다.
- 내가 컨트롤하는 도메인 이름이어야 한다.
- 하위 그룹은 얼마든지 추가할 수 있다.
ex) org.apach.maven
ex) org.apache.commons
- 프로젝트 구조를 사용하면 잘 구분되는 Group Id를 만들 수 있다.
만약 현재 프로젝트가 다중 모듈 프로젝트라면 부모 Group Id에 현재 프로젝트의 식별자를 추가하는 방식이 좋다.
ex) org.apache.maven.plugins
ex) org.apache.maven.reporting
* Artifact Id
: 프로젝트 이름.jar 또는 war로 패키징 시 아티팩트 이름으로 생성 된다.
즉 버전 정보를 생략한 jar 또는 war 파일의 이름이다.
(= 프로젝트 이름)
- 이름은 원하는 것으로 아무거나 정해도 괜찮다.
- 소문자로만 작성하도록 한다.
- 특수문자는 사용 금지
- 만약 써드 파티 jar 파일이라면 할당된 이름을 사용해야 한다.
ex) maven
ex) commons-math
1-5
tiles라는 이름을 가진 프로젝트가 생성되었다.
2. JAVA 버전 변경
2-1
새로 만든 프로젝트 클릭
=> 마우스 오른쪽
=> Properties
2-2
Java Build Path
=> Libraries
=> JRE 클릭 후 remove
2-3
Add Library
=> JRE System Library 클릭
=> Next
2-4
Workspace default JRE(jdk-11) 클릭
=> Finish
만약 등록해놓은 Jdk가 없다면 Installed JREs에서 설치한 java 파일 경로 등록하기
window - Preferences - Java - Installed JREs
( java 설치 시 java path 설정 확인 필수 )
2-5
jdk-11 버전으로 변경됨
3. pom.xml 수정
3-1
에서 1.7버전을 삭제
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source> <-- 삭제
<maven.compiler.target>1.7</maven.compiler.target> <-- 삭제
</properties>
4. pom.xml 에 spring boot 설정 추가
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- spring boot 설정 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
</dependencies>
spring boot 설정과 관련된 dependecy 2개 추가
(junit은 처음부터 있었음)
* spring-boot-starter-parent
라이브러리 버전 충돌 해결을 위한 의존성 추가
: 프로젝트에 수많은 라이브러리를 추가할 경우 버전에 따라 충돌나는 경우가 많은데
spring boot의 starter 가 의존성 조합을 제공해 줄 때 start-parent 는 해당 의존성 조합들간 충돌 문제가 없는 검증된 버전들을 조합해서 의존성을 추가해주는 기능을 한다
Maven Repository: org.springframework.boot » spring-boot-starter-parent (mvnrepository.com)
* parent 태그
: java에서 배운 상속과 같다.
: parent를 상속받아서 그대로 사용하거나 재정의하여 사용할 수 있다.
pom.xml 전체 코드
<?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>com.may.springboot</groupId>
<artifactId>springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>springboot Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- spring boot starter-parent -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
</dependency>
<!-- spring boot starter web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>springboot</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
5. src/main/java 패키지 아래에 SpringBootEx 클래스 생성
package springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootEx {
public static void main(String[] args) {
SpringApplication.run(SpringBootEx.class, args);
}
}
생성후 위의 코드 내용 적고나서
해당 클래스를 java application으로 실행
콘솔창으로 실행되었음을 확인할 수 있다.
그러나 내가 원하는
src/main/resources 와
application.properties가 없음,,,,
이 파일들이 있으려면 starter 로 만들어야했다.....
왜 만드는 방법이 여러개인지 모르겠음.....ㅜㅜ
starter로 만드는 방법
https://sseb32310.tistory.com/101
[Spring] spring boot 새프로젝트 만들기 + maven
스프링부트 새프로젝트 만들기 여러가지 방법중 가장 간단한 방법인듯 1. File => New => Other starter 검색 후 Spring Starter Project 클릭! 만약 File => New 했을 때 Spring Starter Project가 바로 보이면 클릭해도
sseb32310.tistory.com
참고한 글
[STS] Spring Boot Maven Project Create(메이븐을 이용한 스프링부트 프로젝트 생성) (tistory.com)
[STS] Spring Boot Maven Project Create(메이븐을 이용한 스프링부트 프로젝트 생성)
1. STS 설치 https://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual
crong-cat.tistory.com
Maven의 groupId 와 artifactId, 그리고 version - 기계인간 John Grib
Maven의 groupId 와 artifactId, 그리고 version
johngrib.github.io
pom.xml에 Start Spring-boot 의존성 추가 (tistory.com)
pom.xml에 Start Spring-boot 의존성 추가
pom.xml에 의존성 추가 1. 라이브러리 버전 충돌 해결을 위한 의존성 추가 spring-boot-starter-parent ==> 프로젝트에 수많은 라이브러리를 추가 할 경우 버전에 따라 충돌이 나는 경우가 많은데 Spring-boot
munhwasudo.tistory.com
pom.xml <parent>태그
maven의 pom.xml을 보면 &이건 뭘까?우리는 java를 하면서 상속에 대해 배웠을 것이다. 똑같다.parent를 상속받아서 그대로 사용할수도 재정의해서 사용할수도 있다.저 parent에 들어가보면 기본 셋팅이
velog.io
'웹 개발 > Spring' 카테고리의 다른 글
[Spring-Boot] maven 새 프로젝트 만들기 (0) | 2024.03.06 |
---|---|
[spring-Boot] Tiles3 import Error (Spring 3.0버전 이상) (2) | 2024.03.05 |
[Spring] pom.xml 이란? + 태그 (1) | 2024.03.04 |
[Spring] Dynamic Web Project (maven project로 설정하기) (0) | 2024.03.04 |
[Spring] mapper로 값 2개 보내는 방법(HashMap 사용) (0) | 2024.02.19 |