tools & libs/빌드툴(maven,gradle)
-
이번 포스트에서는 maven의 arch type을 생성하는 방법에 대해 살펴보자. 기존 프로젝트 기반으로 arche type 만들기 ㄷ새로운 버전의 STS에서는 더 이상 legacy 방식의 spring 프로젝트를 생성할 수 없고, 상황에 따라서 필요하긴 하고, 기존의 maven arch type들은 너무 old 해서 원하는 형태로 한번 만들어보기로 한다. 원하는 프로젝트 작성 프로젝트와 상관 없이 처음 할 일은 [사용자_홈]\.m2에 settings.xml 파일을 작성해줘야 한다. C:/Users/itsme/.m2/repository 여기서 중요한 것은 당연히 localRepository이다. 나중에 생성한 arche type이 설치될 경로이다. 다음으로 template으로 작성할 프로젝트를 생성해준다...
[maven]arche type 만들기이번 포스트에서는 maven의 arch type을 생성하는 방법에 대해 살펴보자. 기존 프로젝트 기반으로 arche type 만들기 ㄷ새로운 버전의 STS에서는 더 이상 legacy 방식의 spring 프로젝트를 생성할 수 없고, 상황에 따라서 필요하긴 하고, 기존의 maven arch type들은 너무 old 해서 원하는 형태로 한번 만들어보기로 한다. 원하는 프로젝트 작성 프로젝트와 상관 없이 처음 할 일은 [사용자_홈]\.m2에 settings.xml 파일을 작성해줘야 한다. C:/Users/itsme/.m2/repository 여기서 중요한 것은 당연히 localRepository이다. 나중에 생성한 arche type이 설치될 경로이다. 다음으로 template으로 작성할 프로젝트를 생성해준다...
2023.04.14 -
앞선 포스트까지 메이븐을 이용한 라이브러리 관리에 대해서 살펴봤는데 가끔 오동작 하는 경우가 있어서 그 문제에 대한 처리 방식을 고민해보자. 라이브러리 다운로드 오류 처리 maven은 네트워크를 통해서 원격지의 파일을 가져오는데 가끔 불안한 네트워크 환경에서는 라이브러리가 다운로드 되는 과정에서 깨지는 경우가 발생한다. 이런 경우는 정말 다양하게 에러가 표시되기 때문에 정형화 하기가 어려운데 대부분 처리 방식은 하나다. 1. pom.xml 파일의 오류로 컴파일이 되지 않는 경우 2. 컴파일은 되지만 실제 실행 시 아래와 같은 오류가 발생하는 경우 - Archive for required library: '사용자별_메이븐_경로/org/springframework/spring-context/5.1.7.REL..
[maven] maven trouble shooting앞선 포스트까지 메이븐을 이용한 라이브러리 관리에 대해서 살펴봤는데 가끔 오동작 하는 경우가 있어서 그 문제에 대한 처리 방식을 고민해보자. 라이브러리 다운로드 오류 처리 maven은 네트워크를 통해서 원격지의 파일을 가져오는데 가끔 불안한 네트워크 환경에서는 라이브러리가 다운로드 되는 과정에서 깨지는 경우가 발생한다. 이런 경우는 정말 다양하게 에러가 표시되기 때문에 정형화 하기가 어려운데 대부분 처리 방식은 하나다. 1. pom.xml 파일의 오류로 컴파일이 되지 않는 경우 2. 컴파일은 되지만 실제 실행 시 아래와 같은 오류가 발생하는 경우 - Archive for required library: '사용자별_메이븐_경로/org/springframework/spring-context/5.1.7.REL..
2022.04.12 -
이번 포스트에서는 maven의 life cycle과 goal에 대해서 살펴보자. maven life cyclemaven이 동작하는 단계를 life cycle이라고 하며 이 단계는 plugin과 밀접하게 연관되어 있다.Maven – Introduction to the Build Lifecycle (apache.org) Maven – Introduction to the Build LifecycleThe build lifecycle is simple enough to use, but when you are constructing a Maven build for a project, how do you go about assigning tasks to each of those build phases? The f..
[maven] maven lief cycle 관리이번 포스트에서는 maven의 life cycle과 goal에 대해서 살펴보자. maven life cyclemaven이 동작하는 단계를 life cycle이라고 하며 이 단계는 plugin과 밀접하게 연관되어 있다.Maven – Introduction to the Build Lifecycle (apache.org) Maven – Introduction to the Build LifecycleThe build lifecycle is simple enough to use, but when you are constructing a Maven build for a project, how do you go about assigning tasks to each of those build phases? The f..
2022.04.12 -
이번 포스트에서는 maven을 이용한 프로젝트 관리에 대해서 살펴본다. Maven이란?Maven은 아파치 재단에서 관리하는 소프트웨어 프로젝트 관리 도구로 POM이라는 개념을 기반으로한다. 여기서 POM(Project Object Model: 프로젝트 객체 모델)이란 프로젝트의 구성요소, 빌드 설정, 의존성 관리 등을 XML 파일 형태(pom.xml)로 정의하며 이를 통해 프로젝트의 컴파일 이나 테스트 실행 시에 필요한 라이브러리 및 플러그인을 관리하는 것을말한다.또한 Maven은 프로젝트의 구조를 강제해서 다양한 개발 환경(OS, IDE 등)에서 동일한 개발 환경을 구축할 수 있다. 이는 프로젝트의 이식성과 호환성 향상에 큰 도움이 된다.추가적으로 Maven은 다음과 같은 이점을 제공한다.Ma..
[maven] maven을 활용한 의존성 관리이번 포스트에서는 maven을 이용한 프로젝트 관리에 대해서 살펴본다. Maven이란?Maven은 아파치 재단에서 관리하는 소프트웨어 프로젝트 관리 도구로 POM이라는 개념을 기반으로한다. 여기서 POM(Project Object Model: 프로젝트 객체 모델)이란 프로젝트의 구성요소, 빌드 설정, 의존성 관리 등을 XML 파일 형태(pom.xml)로 정의하며 이를 통해 프로젝트의 컴파일 이나 테스트 실행 시에 필요한 라이브러리 및 플러그인을 관리하는 것을말한다.또한 Maven은 프로젝트의 구조를 강제해서 다양한 개발 환경(OS, IDE 등)에서 동일한 개발 환경을 구축할 수 있다. 이는 프로젝트의 이식성과 호환성 향상에 큰 도움이 된다.추가적으로 Maven은 다음과 같은 이점을 제공한다.Ma..
2022.04.11 -
Synology nas가 DSM 7으로 업데이트 되면서 자바와 Tomcat이 사라졌다.ㅜㅜ 언젠가 생기겠지만 급한 사람이 우물을 판다고 필요한 사람이 수를 찾아야 한다.ㅜㅜ 다행이 자바는 open jdk 16 버전을 설치할 수 있었는데 톰켓은 아직 못찾았다. [synology]DSM7 자바 (tistory.com) [synology]DSM7 자바 Synology DSM이 아주 아주 간만에 7버전으로 업데이트 되었다.!! 어디선가 글이 베타버전을 설치해봤더니 예쁘다는 말도 있고 뭐든지 신상을 좋아하는 필자는 앞뒤 가리지 않고 업데이트 하게 된다. goodteacher.tistory.com 하지만 사실 spring boot를 주로 이용하기 때문에 tomcat이 딱히 필요하지는 않다. 다만 war가 아닌 ja..
[maven]서버에 배포하기Synology nas가 DSM 7으로 업데이트 되면서 자바와 Tomcat이 사라졌다.ㅜㅜ 언젠가 생기겠지만 급한 사람이 우물을 판다고 필요한 사람이 수를 찾아야 한다.ㅜㅜ 다행이 자바는 open jdk 16 버전을 설치할 수 있었는데 톰켓은 아직 못찾았다. [synology]DSM7 자바 (tistory.com) [synology]DSM7 자바 Synology DSM이 아주 아주 간만에 7버전으로 업데이트 되었다.!! 어디선가 글이 베타버전을 설치해봤더니 예쁘다는 말도 있고 뭐든지 신상을 좋아하는 필자는 앞뒤 가리지 않고 업데이트 하게 된다. goodteacher.tistory.com 하지만 사실 spring boot를 주로 이용하기 때문에 tomcat이 딱히 필요하지는 않다. 다만 war가 아닌 ja..
2021.08.22 -
build.gradle 작성 언어 build.gradle은 gradle의 init task에 의해 생성되는 파일이다. 이 파일은 그루비나 코틀린 기반으로 작성될 수 있는데 기본 파일은 그루비로 작성되어있다. 그루비는 자바 기반의 스크립트 언어로 자바를 할 수 있다면 매우 손쉽게 배워볼 수 있는 언어이다. 하지만 아무리 쉬워도 겨우 build 하기 위해 언어를 배운다는 것은 부담스러울 수 있다. 그런데 엄밀히 말하면 build.gradle은 그루비를 그대로 사용하는 것은 아니고 그루비 DSL을 사용한다. DSL은 Domain-specific languages의 약자로 말 그대로 특정 용도에 맞게 쉽게 편집한 언어로 생각하면 된다. 결론은 Groovy를 gradle에서 사용하기 위해 쉽게 만든 것이다. 그래..
[gradle]build.gradlebuild.gradle 작성 언어 build.gradle은 gradle의 init task에 의해 생성되는 파일이다. 이 파일은 그루비나 코틀린 기반으로 작성될 수 있는데 기본 파일은 그루비로 작성되어있다. 그루비는 자바 기반의 스크립트 언어로 자바를 할 수 있다면 매우 손쉽게 배워볼 수 있는 언어이다. 하지만 아무리 쉬워도 겨우 build 하기 위해 언어를 배운다는 것은 부담스러울 수 있다. 그런데 엄밀히 말하면 build.gradle은 그루비를 그대로 사용하는 것은 아니고 그루비 DSL을 사용한다. DSL은 Domain-specific languages의 약자로 말 그대로 특정 용도에 맞게 쉽게 편집한 언어로 생각하면 된다. 결론은 Groovy를 gradle에서 사용하기 위해 쉽게 만든 것이다. 그래..
2021.01.30 -
gradle을 위한 살짝 Groovy Maven의 경우 XML을 기반으로 설정을 구성하지만 gradle은 Groovy라는 녀석을 이용한다. 빌드 툴을 사용하기 위해 또다른 언어를 학습해야한다는게 부담스럽지만 다행히 자바를 이미 알고 있다면Groovy는 학습 곡선이 매우 낮다. gradle외에도 간단한 테스트 코드나 SPOCK 같은 테스트 프레임워크 등에서도 자주 사용된 발을 담가보자. Groovy는 - JVM 상에서 실행되는 스크립트 언어로 - Java와 유사한 문법 구조를 가지며 - Java와 호환성이 아주 좋다. 이번 포스트에서는 build.gradle을 편집하기위해 필요한 정도의 살짝 Groovy를 다루도록 한다. Groovy의 간단한 문법 Groovy는 자바와 비슷하니까 대충 자바처럼 써보면 되는..
[gradle]gradle을 위한 살짝 Groovygradle을 위한 살짝 Groovy Maven의 경우 XML을 기반으로 설정을 구성하지만 gradle은 Groovy라는 녀석을 이용한다. 빌드 툴을 사용하기 위해 또다른 언어를 학습해야한다는게 부담스럽지만 다행히 자바를 이미 알고 있다면Groovy는 학습 곡선이 매우 낮다. gradle외에도 간단한 테스트 코드나 SPOCK 같은 테스트 프레임워크 등에서도 자주 사용된 발을 담가보자. Groovy는 - JVM 상에서 실행되는 스크립트 언어로 - Java와 유사한 문법 구조를 가지며 - Java와 호환성이 아주 좋다. 이번 포스트에서는 build.gradle을 편집하기위해 필요한 정도의 살짝 Groovy를 다루도록 한다. Groovy의 간단한 문법 Groovy는 자바와 비슷하니까 대충 자바처럼 써보면 되는..
2021.01.30 -
maven의 properties에서 사용되는 주요 태그 maven의 properties에서 사용되는 주요 태그들에 대해 살펴보자. 용도는 주석으로 대체 한다. 1.8 5.2.6.RELEASE 1.9.5 1.7.30 term4 ${java-version} ${java-version}
[maven] 주요 properties 태그maven의 properties에서 사용되는 주요 태그 maven의 properties에서 사용되는 주요 태그들에 대해 살펴보자. 용도는 주석으로 대체 한다. 1.8 5.2.6.RELEASE 1.9.5 1.7.30 term4 ${java-version} ${java-version}
2020.10.26