Windows 환경에 임시 개발환경을 구성해야 할 일이 생겼다. SCM(Source Code Management) 으로 git을 사용하고 자체 호스팅 git 서비스로 무엇을 쓸까 고민을 했다. linux에서는 gitlab을 쉽게 설치해서 사용을 했었는데 Windows10에 git을 설치하기는 생각보다 어려웠다. Windows 용으로 지원하는 파일도 없어서 docker를 사용해서 설치를 하려고 했는데 docker를 설치할 때 알수 없는 이유로 동작이 되지 않는다. 빠르게 구성을 해줘야 하는데 난감함에 봉착을 했을때! gogs라는것을 알게 되었다! 사전 준비사항으로는 물론 git 설치가 있다. Windows에서의 git 설치는 이 글을 참고하도록 하자. git 설치를 마쳤다면 이제 gogs를 설치하고 실행시..
Springboot 환경이 보편화가 되고 많은 부분들이 편해졌고 필자는 Batch가 엄청나게 편해진것 같다. 많이 사용해서 그런것 같다. 왜 Springboot Batch가 좋은지에 대해서는 이 글에서 다룬적이 있다. 그리고 빌드 및 실행방법에 대해서는 예전 xml config 기반의 Spring Batch 환경 구성하는 포스팅에서 다룬적이 있었지만 Springboot 기반의 환경에서는 어떻게 하는지 살펴보자. 아주 간단하다. 일단 빌드에 앞서 springboot의 main 클래스를 살펴보자. import java.util.ArrayList; import java.util.List; import org.springframework.batch.core.configuration.annotation.Enabl..
Spring이 고도화되면서 점차 properties 파일은 사용되지 않고 yaml 파일을 사용하고 있다. 써보면 yaml 이 좋은점이라고 생각되는 점이 첫번째로는 가독성이 더 좋고 두번째로는 spring profiles 적용시 하나의 파일으로 해결이 가능한점이 좋은것 같다. xml 로 기술했던 것들, JAVA Config로 기술했던 것들이 propertes 그리고 yml 로 바뀌니 이분야는 참 빠르게 변하는것 같다. application.properties spring.datasource.driver-class-name=oracle.jdbc.OracleDriver spring.datasource.url=jdbc:oracle:thin:@10.99.22.11:1521:OINGDB spring.datasour..
프로젝트를 하다 보면 3rd party library를 사용할 일이 빈번하게 있다. 이를 Nexus에 등록하는 과정은 지난번에 다룬적이 있다. (궁금하다면 이곳을 참조하도록 하자.) 지난번에는 등록하는 과정이었다면 이제는 이것을 쓰는 과정이다. 필자는 개발환경을 구성하고 배포를 하였는데 구성해놓은 IDE 까지 모두 받은 사람들은 문제가 없었지만 git에서 소스만 pull 해서 사용하는 사람들에게는 문제가 있었다. 바로 3rd party library를 가져오지 못하는 문제였다. 개발환경을 그대로 사용하는 사람은 maven settings.xml 설정까지 모두 사용하기에 settings.xml 에 설정해놓은 mirror를 사용해 Nexus로부터 3rd party library를 가져올 수 있었지만 git에..
개발을 하고 was를 기동할때 아래와 같은 메세지를 만날 수 있다. Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\oingdaddy\target\classes\~\oingService.sql]'; nested exception is org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 55; columnNumber: 22; The content of elements must consist of well-..
엄청 고인물일수도 있는데... 잠도 안오고 해서... Jenkins에 처음 접속하면 위와 같이 온화한 Jenkins아저씨가 반겨준다. 하지만! plugin manager에서 emotion 이라고 검색을 해보면 emotional-jenkins-plugin 라는 플러그인을 찾을 수 있다. 설치! 플러그인 설치가 다 되었다면 job 설정으로 들어와보자. 이곳에서 빌드 후 조치 추가 (Add post-build action) 에서 Emotional Jenkins를 선택한다. 그리고 저장을 누르고 빠져나온다. 그럼 좌측 메뉴에 Jenkins 아저씨가 보일것이다. 이 아저씨는 현재 Job의 상태를 의미한다. 위와 같이 성공을 한 Job은 평소와 같이 온화한 Jenkins아저씨가 나타나고 Job이 실패를 하면 오른쪽..
[WARN ][o.s.w.s.m.s.DefaultHandlerExceptionResolver.logException:line199] - Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class java.util.LinkedHashMap] REST API 샘플을 만들다가 응답과정에서 위와 같은 오류를 만났다. No converter found for return value of type ! 왜 이런 오류가 났는지 알아보도록 하자. Controller의 모습은 일반적인 REST API의 모습과 거의 같다. Controller @RestC..
API 통신을 할때 json으로 메세지를 보내면 다음과 같은 오류를 자주 접할 수 있다. 바로 Content Type이 맞지 않는다는 메세지이다. 위와 같이 message가 application/json not supported면 요청을 보낼 때 Header에 Content-Type을 application/json 으로 설정해주면 된다. 그 외의 다른 Type으로 메세지를 보낼때는 그에 맞는 Content-Type을 적절하게 잘 설정해 주자. 끝!