1. maven wrapper는 빌드하는 컴퓨터에 maven이 없어도 빌드가 가능하게 도와주는 script이다. 2. 이 wrapper를 만드는 방법은 mvn plugin의 goal을 실행하는 것인데 아래처럼 실행하면 된다. $ mvn -N io.takari:maven:wrapper 2-1 문제는 버전인데 원하는 버전을 지정할 수 있어야 한다. 현재는 최신 버전 3.6.3을 사용하는 것을 볼 수 있다. 2-1-1 생성된 .mvn/wrapper 폴더 안의 maven-wrapper.properties 파일이 아래처럼 설정되어 있다. 2-1-2 설정 파일에 이미 url이 지정되어 있기 때문이다. 2-1-3 해결책인 위의 properties의 url을 변경하는 방법과 goal을 실행할 때 버전을 넣어주는 방법이..
0. 메이븐의 빌드는 라이프사이클을 구성하는 phase와 phase와 바인딩되는 plugin의 goal로 처리된다. 0-1 라이프사이클의 phase는 plugin의 goal과 바인딩 된 경우는 실행되고 안된 경우는 넘어간다. 0-2 메이븐의 plugin이 아닌 다른 3rd party plugin으로 바인딩 되지 않은 라이프사이클 phase를 처리할 수도 있다. 1. 메이븐은 기본적으로 3개의 라이프 사이클을 가지고 있다. clean, default, site 이다. 1-1 Clean - working directory(즉 src 아래의 파일들)로 부터 파생된 모든 부산물을 정리한다. 1-1-1 기본적으로 plugin 바인딩이 되므로 그냥 실행하면 된다. 1-2 Default - 프로젝트를 빌드하고 dep..
1. 자바 개발의 표준이라고 생각하면 된다. Maven – Introduction to the Standard Directory Layout Introduction to the Standard Directory Layout Having a common directory layout would allow for users familiar with one Maven project to immediately feel at home in another Maven project. The advantages are analogous to adopting a site-wide look-and-feel. T maven.apache.org
1. 메이븐은 dependency를 중심으로 구조를 이루고 있다. 2. Dependency라고 하면 Maven프로젝트가 의존하는 artifact를 말한다. 3. Transitive Dependency는 프로젝트에서 의존하는 artifiact의 의존성을 말하는 것으로 3-1 이것 때문에 수많은 층의 구조가 형성된다. 3-2 cyclic dependency는 허용하지 않는데, 즉 A가 B를 의존하고 B가 C를 의존하는데 C가 A를 의존하는 경우이다. 4. Dependency Management는 사용하고 있는 artifact의 버전을 명시하여 그 버전을 사용하도록 하는 기능이다. 4-1 의존하고 있는 artifact가 의존하는 artifact도 지정할 수 있다. 5. Dependency Mediation은 ..
1. xml언어로 작성된 프로젝트 빌드에 사용되는 문서이다. Project Object Model의 약자이다. 1-1 maven-4.0.0.xsd 스키마를 만족하는 문서이다. 2. POM은 parent POM으로 부터 속성을 상속받을 수 있다. 3. 최종적으로 사용되는 상속을 모두 반영한 POM을 effective POM이라고 하고 아래처럼 생성할 수 있다. 4. 위의 기능으로 생성한 effective POM파일이다. 기본적인 설정값들이 다 들어와있음을 알 수 있다. 4-1 아래의 설정들은 메이븐 architype이 나온지가 너무 오래되어 실사용시 적절한 수정이 필요하다. 4.0.0 pe.pilseong hello-maven 1.0-SNAPSHOT hello-maven 11 11 11 UTF-8 UTF-..
1. 메이븐의 Coordinates는 artifact라고 부르는 단위의 라이브러리 혹은 컴포넌트를 구별하기 위한 정책이다. 2. groupId, artifactId, version으로 구분된다. 2-1 groupId는 일반적으로 조직의 domain을 반대로 쓰는 경우가 많지만 그냥 junit처럼 쓰는 경우도 있다. 2-2 artifactId는 프로젝트 이름이라고 생각하면 된다. 2-3 version은 artifact 라이브러리나 컴포넌트의 버전이다. 2-4 groupId와 version은 parent POM에서 상속받아서 사용가능하므로 항상 지정할 필요는 없다. 3. 메이븐 버전 3-1 Major, Minor, Incremental, Build Number, Qualifier로 나누어 진다. 3-2 Qu..
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. 자바와 관련된 플..
1. maven을 사용하려면 pom.xml이 필요하다. 아래처럼 간단히 만들었다. 1-1 의존성이 없는 버전과 프로젝트 이름과 버전만 담겨져 있다. 4.0.0 pe.pilseong hello-maven 0.0.1-SNAPSHOT UTF-8 UTF-8 11 ${java.version} ${java.version} 1-2 폴더에 파일을 복사하고 mvn package를 실행하면 기본적인 메이븐과 관련된 파일이 자동으로 다운로드 된다. 1-3 그 후 컴파일을 하게 되는데 소스코드가 없어도 pom.xml에서 설정한 프로젝트 이름과 버전대로 jar을 생성한다. 1-3-1 생성되는 확장자는 기본이 jar이고 target폴더가 생성되어 그 안에 위치하게 된다. 1-4 생성된 jar파일을 압축해제 해보면 역시 META-..
- 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
- Angular
- form
- 설정하기
- one-to-one
- one-to-many
- 스프링부트
- Validation
- hibernate
- XML
- 자바
- Rest
- RestTemplate
- crud
- 설정
- 하이버네이트
- spring boot
- 스프링
- jsp
- WebMvc
- 상속
- login
- Many-To-Many
- 외부파일
- 로그인
- Security
- mapping
- Spring Security
- Spring
- 매핑
- MYSQL