묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 배치
retry count 관련 질문
안녕하세요 강사님 좋은 강의 감사드립니다.해당 RetryListener 예제에서 조금 이해되지 않는 부분이 있어 글 남깁니다.CustomItemProcessor에서 아이템이 2일 때 예외가 1번 발생하고 CustomItemWriter에서도 아이템이 2일 때 예외가 1번 발생(예외 총 2번 발생)CustomRetryListener의 onError() 메소드가 총 2번 호출되는데 두 번째 호출될 때 context.getRetryCount()가 2로 찍혀야 되는 것이 아닌가 생각이 들었습니다.제가 해당 예제를 따라서 실습할 때도 그렇고 강의 화면을 봐도 retry count가 모두 1로 찍히고 있습니다.동일한 아이템이어도 process할 때와 write할 때 retry count가 다르게 적용되는 것일까요..?확인해주시고 답변 주시면 많은 도움이 될 것 같습니다.감사합니다.
-
미해결스프링 부트 - 핵심 원리와 활용
MyContainerInitV1 실행 시 오류
04-Dec-2024 22:31:59.700 심각 [main] org.apache.catalina.startup.ContextConfig.processServletContainerInitializers 이름이 []인 컨텍스트를 위한 ServletContainerInitializer들을 탐지하지 못했습니다. java.io.IOException: java.lang.ClassNotFoundException: hello.container.MyContainerInitV1 at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:234) at org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:202) at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1756) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1256) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:961) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:290) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4311) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:566) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:653) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:599) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1853) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:494) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:385) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1593) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:267) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:743) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1170) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1160) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:716) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:866) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.startup.Catalina.start(Catalina.java:755) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:470) Caused by: java.lang.ClassNotFoundException: hello.container.MyContainerInitV1 at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1212) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1043) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:231) ... 45 more 04-Dec-2024 22:31:59.702 심각 [main] org.apache.catalina.startup.ContextConfig.configureStart 이전 오류(들)로 인하여, 이 애플리케이션이 가용하지 않은 것으로 표시합니다. 04-Dec-2024 22:31:59.720 심각 [main] org.apache.catalina.core.StandardContext.startInternal 하나 이상의 구성요소(들)이, 해당 컨텍스트가 올바로 설정되지 않았다고 표시했습니다. 04-Dec-2024 22:31:59.728 심각 [main] org.apache.catalina.core.StandardContext.startInternal 이전 오류들로 인해 컨텍스트 []의 시작이 실패했습니다.MyContainerInitV1 클래스와 resources 파일 아래에 정확하게 파일을 생성하였는데 다음과 같은 오류가 발생합니다. 어떻게 해결할 수 있는지 확인해주시면 감사하겠습니다 ㅠㅠ
-
미해결스프링 부트 - 핵심 원리와 활용
내부 클래스 static 안할 시 오류
[ImportSelectorTest 시 StaticConfig 내부 클래스 static 사용이유]안녕하세요. 테스트할 때 StaticConfig 내부 클래스에 static 키워드를 붙이지 않고 테스트를 하니 아래와 같은 오류가 발생하는데요. 이유가 무엇인가요?Error creating bean with name 'importSelectorTest.StaticConfig': Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.selector.ImportSelectorTest' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'importSelectorTest.StaticConfig': Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.selector.ImportSelectorTest' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jdbc 설정이후에 재접속 16:00
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원목록이 안뜹니다. org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-232] 라는 에러가 뜨네요.
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
rest 로그인 방식 rememberMe 처리
RestApiDsl 에서 rememberMeService가 처리가 되는데json 방식으로 통신 시 remember-me 파라미터를 받지못합니다. AbstractRememberMeServices 를 상속받아 따로 처리해야 하는 건지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
JPA save 때 동일 컬럼이 두 번 선언되는 현상이 있습니다.
두 개의 테이블을 OneToOne으로 연관관계를 설정하여 JPA 로 account와 authority테이블을 한 번에 save하는 로직을 강의 내용을 응용하여 개발하고 있습니다.save를 통해 저장하려고 하면 insert 구문에 LOGIN_ID가 두 번 지정되어 쿼리가 날아가는 현상이 있는데 어느 부분이 잘못된 것인지 도움 부탁드립니다..(쿼리문 예시insert into LOGIN_ACCOUNT (LOGIN_ID, ~~~, login_id)select SCOPE_IDENTITY() AS GENERATED_KEYS', ~~~, form에서 입력받은 실제 id값) 아래는 소스 내용의 일부입니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
순수JDBC 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]다 음 메서드에서 DataSourceutils가 빨간밑줄이 뜹니다.어떤 조치를 취해야 하나요? 임포트를 임의로 넣어줘도 JDBC에만 빨간밑줄이 쳐집니다. import org.springframework.jdbc.datasource.DataSourceUtils;private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); }private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]테스트는 초록불이 켜지는데 콘솔창에는이런 내용이 뜹니다.. 이건 왜이런건가요? 어떻게 해결하죠?현재 build.gradle는이 상태 입니다
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
섹션4 - 목록처리(2)에서 페이지를 두번 클릭해야 정보를 불러옵니다.
목록처리(2) 에서 refresh 까지 다 하고 하단에 페이지 넘버를 클릭하면 어떨때는 두번 눌러야 화면이 넘어가는 경우가 있습니다.브라우저 개발자 도구의 콘솔탭에서 확인해보니 아래 이미지처럼 current가 각기 다르게 두번 불러오는데요(현재 2페이지에서 1페이지를 눌렀을때의 결과 입니다.)리액트에서 두번 불러오는거에 대해서 언급하신게 있었는데 제가 놓친부분이 있는건지... 이렇게 되는 이유를 모르겠습니다.혹시 몰라 압축파일로 제 구글 드라이브에 올려놓았습니다. (https://drive.google.com/drive/folders/1TQxdqkRD8xvXIHzVoI5fp2hm_HZaE0aT)감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2.sh 실행
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]윈도우 파워셀로 실행하려는데 chmod 755 명령어가 안 됩니다. 'chomod' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 라고 뜨는데 어떡하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 데이터베이스 경로 설정
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이렇게 설정하고 연결을 눌러도 연결이 되지 않는 이유를 모르겠습니다.!이런 오류가 뜨네요. ㅠ윈도우 사용자입니다!그리고 실행 자체를 cmd에서 명령어 입력 말고 설치하니 생긴이 파일로 실행을 해도되는건가요?
-
미해결스프링 부트 - 핵심 원리와 활용
6 자동구성 부분
plugins { id 'org.springframework.boot' version '3.0.2' id 'io.spring.dependency-management' version '1.1.0' id 'java' } group = 'hello' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //테스트에서 lombok 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' } tasks.named('test') { useJUnitPlatform() }위와 같이 build.gradle을 구성하고 강의대로 따라가고 있는데 여기에 있는 외부라이브러리 (롬복,테스트라이브러리)가 인식이 되지 않고 있습니다. 롬복까지는 수동으로 다운로드해서 진행하고 있는데 계속 이러면 부트를 사용하는 의미가 없는것 같아서 문제를 해결하고 싶습니다!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
ClassNotFoundException, NoClassDefFoundError오류
[질문 내용]스프링 부트와 JPA 활용 1편에서 제가 작성한 코드에서는 POST: http://localhost:8080/api/v1/members해당 API가 잘 작동하는데 스프링 부트와 JPA 활용 2편에서 제공하신 강의 소스에서는 작동이 안되어서 문의드립니다.해당 사진처럼 오류가 발생(상태코드 500) 아래 링크에 있는 내용대로 패키지 이름 변경은 다 했습니다. (javax -> jakarta)https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit?tab=t.0#heading=h.vfy9wirpglmx
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
git에서 소스받고 실습중인데
패스워드를 안넣어도 401에러가 아닌 200으로 올바른 API호출이 됩니다.SecurityConfig 없애고 하면 302로 login 페이지로 가고.. 혹시 어떤부분이 다를까요?
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
시큐리티 로그인 인증 한 이후 다음 프론트 요청 어나니머스(익명사용자) 필터??
현재 지금 프론트와 백엔드로 나누어져 웹 개발을 하고 있습니다 여기서 궁금한점은 선생님 코드를 다 따라 적었는데 프론트에서 로그인 요청을 해서 로그인한 이후 프론트에서 메인 페이지로 보내는데 거기서 다음 기능을 쓰려고 하면 서버 500에러가 뜨고 어나니머스필터가 요청을 받는거 같습니다 저도 정확하게 알 수 없어서 그런데 혹시 CSRF기능을 안써서 어나니머스필터로 가는 것인지 아니면 뭐가 잘못 된건지 알 수 없습니다 좀 알려주시면 감사하겠습니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
전체 로드맵 알려주세여
안녕하세요. 김영한님 로드맵 3개(자바, 스프링, JPA) 가 있는거로 아는데 이거 통합해서 전체 강의 로드맵 짜서 순서 좀 알려주세요. 김영한님한테 직접 질문좀 해주세요.
-
해결됨코드로 배우는 React 19 with 스프링부트 API서버
로그가 안찍히네요..
package org.zerock.apiserver.service; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.zerock.apiserver.DTO.PageRequestDTO; import org.zerock.apiserver.DTO.TodoDTO; import org.zerock.apiserver.Service.TodoService; import java.time.LocalDate; @SpringBootTest @Log4j2 public class TodoServiceTests { @Autowired TodoService todoService; @Test public void testGet() { Long tno = 50L; log.info(todoService.get(tno)); } @Test public void testResister() { TodoDTO todoDTO = TodoDTO.builder() .title("Title...") .content("Content...") .dueDate(LocalDate.of(2023,12,30)) .build(); log.info(todoService.resister(todoDTO)); } @Test public void testGetList() { PageRequestDTO pageRequestDTO = PageRequestDTO.builder().build(); log.info(todoService.getList(pageRequestDTO)); } } 마지막 테스트를 진행하는데 로그가 안찍히네요...2024-12-02T17:01:47.099+09:00 INFO 13948 --- [ Test worker] o.z.apiserver.service.TodoServiceTests : org.zerock.apiserver.DTO.PageResponseDTO@4dea763c이런식으로만 찍히는데.. 원래 위에 테스트들은 문제없이 잘 됐는데 왜 안되는걸까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
order 테이블의 id값이 왜 4, 11인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의에서 order 테이블을 조회하면 id값이 4, 11로 나오는데 저는 1, 2로 나옵니다. 아무리 생각해봐도 4, 11로 나올 이유가 없어보이는데 왜 4,11로 나오는지 궁금합니다
-
미해결스프링 부트 - 핵심 원리와 활용
WAR, JAR 차이점 (구성하는 파일에 대해)
안녕하세요. 강사님 05:00 분에 WAR를 설명하십니다.WAR : 정적리소스(HTML) + 클래스파일 이라고 설명하십니다.JAR 도 WAR와 마찬가지로 위와같이 HTML, 클래스파일을 갖을 텐데요. 강사님께서는 HTML을 WAR설명때만 언급을 하십니다. WAR 와 JAR가 갖는 파일들에 대해 차이점을 구별하지 못하고 있습니다. 단순 내부구조가 복잡하거나 단순한 걸로 구별을 해야할까요?
-
해결됨실전 jOOQ! Type Safe SQL with Java
kotlin jOOQ , 컴파일시 힙메모리 부족
안녕하세요비슷한 이유로 queryDSL 에서 불편함을 가지고 있어 jOOQ 에 관심이 생겼습니다.마침 이렇게 좋은 강의 만들어주셔서 정말 감사합니다.다름이 아니라 kotlin 을 주로 사용해서 kotlin 으로 jOOQ 사용시 컴파일 단계에서 힙메모리 부족 현상이 생기는데 혹시 kotlin 으로 힙메모리 부족 현상을 겪으신 적 있으신가요만약 있으시면 해결하신 지혜를 얻고 싶어 글 남깁니다gradle 설정은 아래와 같이 했습니다해결과정 동안 힙메모리 설정 추가하여 늘려봐도 메모리 부족 현상이 발생하네요import org.jetbrains.kotlin.gradle.tasks.KotlinCompile val jooqVersion: String by extra("3.19.5") plugins { kotlin("jvm") version "1.9.25" kotlin("plugin.spring") version "1.9.25" id("org.springframework.boot") version "3.4.0" id("io.spring.dependency-management") version "1.1.6" id("nu.studer.jooq") version "9.0" } group = "com.example" version = "0.0.1-SNAPSHOT" java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter-jooq"){ exclude(group = "org.jooq", module = "jooq") } implementation("org.jooq:jooq:$jooqVersion") // jOOQ implementation(project(":jOOQ-custom")) jooqGenerator (project(":jOOQ-custom")) jooqGenerator("org.jooq:jooq:$jooqVersion") jooqGenerator("org.jooq:jooq-meta:$jooqVersion") implementation("org.jetbrains.kotlin:kotlin-reflect") runtimeOnly("com.mysql:mysql-connector-j") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testRuntimeOnly("org.junit.platform:junit-platform-launcher") } kotlin { compilerOptions { freeCompilerArgs.addAll("-Xjsr305=strict") } } tasks.withType<Test> { useJUnitPlatform() } val dbUser: String = System.getProperty("db-user") ?: "root" val dbPassword: String = System.getProperty("db-password") ?: "passwd" jooq { version.set(jooqVersion) configurations { create("sakilaDB") { generateSchemaSourceOnCompilation.set(true) jooqConfiguration.apply { logging = org.jooq.meta.jaxb.Logging.WARN jdbc.apply { driver = "com.mysql.cj.jdbc.Driver" url = System.getenv("DB_URL") ?: "jdbc:mysql://localhost:3306/sakila" user = dbUser password = dbPassword } generator.apply { name = "org.jooq.codegen.KotlinGenerator" database.apply { name = "org.jooq.meta.mysql.MySQLDatabase" excludes = "sys" } generate.apply { isDaos = true isRecords = true isFluentSetters = true isJavaTimeTypes = true isDeprecated = false } target.apply { directory = "src/generated" } strategy.name = "com.example.jooq.custom.generator.JPrefixGeneratorStrategy" } } } } } sourceSets { main { java { srcDirs("src/main/kotlin", "src/generated") } } }