나는 gradle (kotlin)과 함께 jooq를 사용하려고합니다. 출처 : gradle-jooq-plugin
어제부터 시도하고 있는데 지금은 볼 자원이 없습니다.
kotlin을 처음 접했기 때문에 제대로 이해하지 못했다고 생각합니다. 그러나 예제는 나에게도 효과가 없었습니다 (플러그인에 대한 설명이 좋고 예제가 쉽습니다 ..)
제가 궁금한 것 이상 이니까 제가 실수 한 곳으로 당신이 저를 이끌 수 있다면 정말 감사 해요.
다음은 내 build.gradle
파일 의 일부입니다 . 나는 Junit 5로 테스트하고 있습니다 (영향이 있다면, 아닐 것 같아요 )
import nu.studer.gradle.jooq.JooqEdition
plugins {
java
jacoco // test coverage and reports
id("org.springframework.boot") version "2.2.6.RELEASE"
id("org.sonarqube") version "2.8"
id("nu.studer.jooq") version "4.1"
id("java-library")
`kotlin-dsl`
}
apply(plugin = "io.spring.dependency-management")
apply(plugin = "nu.studer.jooq")
dependencies {
apply(plugin = "nu.studer.jooq")
// ### Spring ###
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-jdbc")
implementation("org.springframework.boot:spring-boot-starter-jooq")
compileOnly("org.springframework.boot:spring-boot-starter-actuator")
// ### Database ###
implementation("org.postgresql:postgresql:42.2.11")
implementation("org.liquibase:liquibase-core:3.8.8")
implementation("org.jooq:jooq")
jooqRuntime("postgresql:postgresql:9.1-901.jdbc4")
}
ext {
jooq.version = "3.12.3"
}
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
jooq {
version = "3.12.3"
edition = JooqEdition.OSS
"sample"(sourceSets["main"]) {
}
}
은 "sample"(sourceSets["main"])
에서입니다 여기 . Gradle (kotlin) 예제. 하지만 다음과 같은 오류가 발생합니다.
Expression '"sample"' of type 'String' cannot be invoked as a function. The function 'invoke()' is not found
jooq 구성에서 사용중인 샘플 기능은 기능이 string
아닌 것으로 설정됩니다 .
https://github.com/etiennestuder/gradle-jooq-plugin 에서 문서를 확인하십시오.
다음이 있어야합니다.
jooq {
version = '3.12.3'
edition = 'OSS'
generateSchemaSourceOnCompilation = true
sample(sourceSets.main) {
jdbc {
driver = 'org.postgresql.Driver'
url = 'jdbc:postgresql://localhost:5432/sample'
user = 'some_user'
password = 'secret'
properties {
property {
key = 'ssl'
value = 'true'
}
}
}
generator {
name = 'org.jooq.codegen.DefaultGenerator'
strategy {
name = 'org.jooq.codegen.DefaultGeneratorStrategy'
// ...
}
database {
name = 'org.jooq.meta.postgres.PostgresDatabase'
inputSchema = 'public'
forcedTypes {
forcedType {
name = 'varchar'
expression = '.*'
types = 'JSONB?'
}
forcedType {
name = 'varchar'
expression = '.*'
types = 'INET'
}
}
// ...
}
generate {
relations = true
deprecated = false
records = true
immutablePojos = true
fluentSetters = true
// ...
}
target {
packageName = 'nu.studer.sample'
// directory = ...
}
}
}
}
Btw, Jooq가 코드를 생성하도록하려면 데이터베이스에 대한 연결 문자열을 제공해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다