기본 콘텐츠로 건너뛰기

Maven 기본 설정


  1. 프로젝트 생성
  • 프로젝트 만들 디렉토리 이동 후 mvn archetype:generate 명령어 입력
  • quickstart 버전 : 디폴트로 되있기 때문에 엔터 누른다
  • 그룸 ID : 프로젝트를 생성하는 개인 또는 단체 ID
  • 아티팩트 ID : 만드는 프로젝트의 ID
  • 버전
  • 패키지 : 디폴트로 그룹 ID가 설정
  1. 프로젝트 구성
  • 프로젝트 폴더 안에 pom.xml src - main - java - com - 상요자 - App.java - test ...
  • pom.xml : 빌드파
  1. 프로그램 생성(mvn package)
  • 프로젝트 컴파일하고 프로그램을 만드는데 패키지 생성 명령어를 사용한다.
  • 명령창에 해당 폴더 이동후 mvn pakage 명령어 입력한다.
  • 실행이 완료되면 프로그램을 컴파일 하고 Jar 파일 만든다.
  1. 프로그램 실행
  • pakage 한 후 프로젝트 폴더에 target이라는 폴더가 생성된다.
  • 폴더에 들어가면 jar 파일이 있는데 이를 실행한다.
  • Jar 자체로 실행되지 않아 -classpath 라든지 앞에 명령어를 추가 해야 된다. java -classpath SimpleApp-1.0-SNAPSHOT.jar com.jihioh.App
  • package : 패키지를 생성하기 위한 것. 이후 compile, test-compile, test도 내부에서 모든 실행한다.
  • complie : 프로그램 컴파일. But Jar 파일은 생성하지 않는다.
  • test-compile : 테스트 프로그램을 컴파일한다. src에서 test 폴더에 있는 소스 코드를 컴파일
  • test : 테스트 실행.
  • clean : 컴파일에서 생성된 각종 파일을 모두 삭제한다. 컴파일로 만든 불필요한 파일을 지우고 싶을때 사용한다.
  1. pom.xml을 알아보자.
  • Maven은 pom.xml 빌드 파일을 사용해 빌드 정보를 기술한다. Project Object Model의 약자로 프로젝트의 다양한 정보를 처리하기 위한 객체 모델
  • : 프로젝트에 대한 기본 속성을 설정하는 태그
  • : 패키지 종류로 jar or zip을 지정한다. Web Application의 경우 war를 지정할 수도.
  • : 프로그램이 참조하는 라이브러리
  1. JUnit 라이브러리
  • 단위 테스트를 위한 기능을 제공하는 Java 라이브러리.
  • Maven은 프로그램 빌드 및 패키징 처리때, 반드시 단위 테스트도 동시에 실행된다. 그러므로 test폴더를 지우지 말자.

댓글

이 블로그의 인기 게시물

[스프링부트2.0 낚시게시판] 01. 프로젝트 생성 및 환경을 세팅해 보자

첫번째. 이클립스에서 프로젝트를 생성해 보자. 빠밤! 1. 이클립스 실행하고 프로젝트 생성하기  - 이클립스 실행 후 File -> New -> Spring Starter Project클릭 ( 부트는 Spring Starter Project로!! )        해당 프로젝트 설정을 본인의 입맛에 맞게? 해주자. 처음엔 저와 똑같이 하는게 삽질(?)의 노고를 덜 수 있으니 저 같은 초보 개발자 분들이나 이제 막 공부를 시작 하셧다면 위와 가이 설정 하는걸 추천.  - New Spring Starter Project Dependencies    - Spring Boot Version : 2.0.2    - Core : DevTools, Security, Lombok 클릭    - Web : web  클릭    - SQL : JPA, H2 클릭    - template Engines : Mstache   --> 타임리프(요즘 회사에서 많이 쓴다고해서)   - 그다음 다음 -> Finish 클릭하게 되면 Maven에 관한 프로젝트가 생성된다.   처음엔 메이븐 디펜던시부분을 받느라 시간이 걸릴수 있다. 프로젝트 구조는 스프링과 별반 차이가 없어 보인다 프로젝트 구조 관련해선 조만간 포스팅 해봐야 겠다. (요즘 책 읽을 시간도 없어서...😂) 두번째. 실행을 해보자.  스프링 부트2.0의 특징은 자체적으로 톰켓이 내장 되어 있어 따로 톰켓을 설정하는 부분이 없어서 아주 매우 편안하게 되었다.    - 실행은 src/main/java 밑에 com.fishing.board 패키지 밑에 FishBoardApplication.java 오른쪽 클릭 후...

[SpringBoot] Spring Data JPA를 알아보자 [2탄 엔티티를 다루기]

이번 시간에는 엔티티 클래스 설계서 부터 테스트까지 진행해 보도록 하겠다. 1. 엔티티 클래스 설계   - JPA는 자동으로 테이블을 생성하는 기능을 가질 수 있다. 다음 2가지 방법이 있다.     1) SQL을 이용해 테이블을 먼저 생성하고 엔티티 클래스를 만드는 방법     2) JPA를 이용해 클래스만 설계하고 자동으로 테이블을 생성하는 방법   - 이중에서 2)번 방법을 알아보자.   - JPA 엔티티 클래스를 생성하는 작업은 다음 과정을 거친다     1) 클래스 설계     2) 각종 애너테이션을 이용해 제약 조건 추가 설정     3) 엔티티 간 연관관계 설정 1.1 엔티티 클래스 설계    package com . example . sutdy . domain ; import lombok.Getter ; import lombok.Setter ; import lombok.ToString ; import java.sql.Timestamp ; @Getter @Setter @ToString public class Board { private Long bno; private String title; private String writer; private String content; private Timestamp regdate; private Timestamp updatedate; }   - 위와 같이 일반적인 방법으로 클래스를 만들어 봤다. 다음 JPA 어노테이션에 관해 알아보고 붙여보자 1.1.2 JPA 어노테이션   - @Id : 각 엔티티를 구별할수 있도록 식별 ID부과.(일종의 primary key로 보면된다). 모든 엔티티에 반드시 지정하자.   - @Column : 인스턴스 ...

[스프링부트2.0 낚시게시판] 03. 네비게이션화를 해보자

이번시간에는 네비게이션화 일명 페이지 요청당 Path에 대해 작성해보자 화면 HTTP Request method parameter 설명 메인화면 / GET 루어낚시 메인 /lure GET ?/location='seoul'&room='aa'&context='aa'&page=1 location(지역), room(낚시터명), context(검색어) 루어낚시 상세보기 /lure/{no} GET ?/location='seoul'&room='aa'&context='aa'&page=1&no=1 location(지역), room(낚시터명), context(검색어), no(글번호) 루어낚시 댓글달기 /lure/{no}/reply POST ajax로 낚시스쿨 메인 /school GET 낚시스쿨 상세보기 /school/{no} GET 낚시스쿨 댓글달기 /school/{no}/reply POST 중고장터 메인 /shop GET 공지사항 메인 /notice GET ?category_no=1&page=1 로그인 화면 /users/login GET 로그인 성공 시 전에 요청했던 화면으로 이동하게끔 로그인 /users/login POST userid=""&password=""&rememberme="" 아이디, 패스워드를 입력 받고, rememberme 기능을 bool값으로 회원가입 화면 /users/join GET 회원가입 /users/join POST userid=""&birth=""&sex=""&phone=""&password=""&email="" 위는 HTTP 요청에 따른 화면전환 방법을 ...