모듈경로/build.gradle is not part of the build defined by settings file 프로젝트경로/settings.gradle
2023. 11. 23. 15:18
프로그래밍 노트/Spring, Java, Kotlin
개 빡치게 하나의 모듈만 gradle update 가 안되는 문제가 생겼었다 참고로 저의 개발 환경은 intellij gradle(multi-modules) 그 외 개발환경은 상관없음 gradle 멀티모듈 환경에서 gradle reload가 안되는 상황이였다 ... is not part of the build defined by settings file ... 즉, settings.gradle 파일에 정의된 내가 셋팅한 module 중 하나인 build.gradle 설정을 찾을 수 없다는 얘기인가보다 manager 모듈을 자꾸 못불러온다는 개소리를 짓거리길래 프로젝트 rebuild나 인텔리제이 cache 제거 등 다 해보았지만 아무런 소용이 없었따 개빡치는 상황이였다 해결 1. 인텔리제이를 종료한다. 2..
thymeleaf 와 tailwind 로 자바 서블릿 프로젝트 구성하기
2023. 11. 15. 16:44
프로그래밍 노트/Spring, Java, Kotlin
개발환경 : MacOS Sonoma IntelliJ Ultimate springboot 3.1.5 yml gradle8.3(multi-module) jpa thymeleaf tailwindcss node 21.1.0 npm 10.2.3 기본적인 백엔드 REST API 구성이 가능한 상태임을 가정하여 build.gradle 설정부터 보겠습니다. 이 프로젝트는 multi-module 구성입니다(매우 단순) 최상단에서 백엔드를 담당하는 API모듈과 프론트를 담당하는 VIEW 모듈 두개 있는 게 전부이고 두개의 모듈은 common 모듈을 의존하고 있습니다 이 글에서는 VIEW 모듈만 보면 다루고 있습니다 ("..."으로 표현한 곳은 개인 환경과 관련된 부분이며 이 글과는 상관없는 부분들입니다) 최상단 build..
Springboot에서 messages.properties로 다국어 사용하는 방법 (reload까지)
2022. 8. 17. 16:27
프로그래밍 노트/Spring, Java, Kotlin
개발환경 : Springboot kotlin gradle yml jsp 사용하게된 계기 : 간단한 기능을 제공하는 웹페이지를 만들었는데 국내는 물론 영어권 사용자에게도 사용될 수 있었으면 좋겠다 싶어 구현하게 되었다 나와 같은 환경에서 사용방법 : application.yml spring: messages: basename: messages encoding: utf-8 위와 같이 spring설정에 messages를 넣고 간단하게 설정만 해주면 바로 사용이 가능한데 (springboot이기 때문에 가능) resources 디렉토리 안에 messages.properties 파일과 messages_ko_KR.properties 파일을 만들어주고 그 안에 내용을 입력해주면 된다 매우 간단하다 문제는 페이지를 로..
SpringBoot 2.6에서 swagger 3.0 사용
2021. 12. 15. 12:33
프로그래밍 노트/Spring, Java, Kotlin
환경 : 인텔리제이 jdk1.8 SpringBoot 2.6.1 gradle Swagger 3.0.0 SwaggerUI 3.0.0 swagger를 적용하는 방법은 구글 검색하면 다른 분들이 잘 써놔서 검색하면 잘 나올것이다 그런데 나는 SpringBoot 2.6.1 환경에서 적용하려고 해서 그런지 충돌이 나는 것 같아 해결한 부분을 설명 드리려 한다. swagger를 적용한 프로젝트를 실행하면 다음과 같이 에러가 난다. org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerExcepti..
JAVA로 API 개발할 때 DTO파일 읽어서 필요하거나 필요 없는 필드 확인하기
2021. 8. 3. 20:55
프로그래밍 노트/Spring, Java, Kotlin
몇달 전 모빌리티 회사로 이직하게 되었고 내가 처음 맡은 분야는 혜택(포인트, 쿠폰) 쪽이였다. 이러한 테스트 소스를 구현하게 된 계기 인계받은 기존 소스를 양산형으로 구현해서 (공장에서 찍어낸듯한..) 말그래도 돌아가게만 만들어 놓은 상태였다. 우리는 일반적인 JAVA로 개발된 API가 그렇듯 DTO로 필드로 받아서 내부 로직을 처리하도록 설계되어있었는데 DTO에 거의 모든 (데이터 컬럼에 맞는) 필드를 생성해놓고 그 중 일부만 request 받는 그런 식이였다. 이게 한두개면 별일이 아니였을텐데 대략 50개 정도(그것도 포인트 관련 소스만)가 이런 상태였고 다음과 같은 원칙일 경우에만 DTO를 중복으로 사용해야했다. (DTO생성을 최소화 하기 위함) 1. DTO파일 명칭이 업무적인 의미상 생뚱맞지 않..
java AES 인코딩, 디코딩 예제
2020. 11. 6. 16:12
프로그래밍 노트/Spring, Java, Kotlin
import java.io.IOException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.util.Scanner; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.SecretKeySpec; import sun.misc.BASE64Decoder; public class decPw { pub..
Java 파일 복사 프로세스 (eml파일 헤더 변조하여 복사)
2020. 11. 3. 11:39
프로그래밍 노트/Spring, Java, Kotlin
eml 파일의 헤더부분 subject, messgeid를 변경하여 원하는 숫자만큼 복사하는 프로세스 마임이 없을 경우 라이브러리를 참조하도록 구성해야한다 package com.crinity.webapps.mail.web; import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Properties; import org.springframework.stereotype.Controller; import org.springframew..