Gradle JOOQ代码生成时出现错误<;发电机/>;标签是强制性的
我正在尝试将JOOQ与最新版本4.0.0的vertx一起使用。我想通过gradle生成我的DAO和表。以下是我的build.gradle代码Gradle JOOQ代码生成时出现错误<;发电机/>;标签是强制性的,gradle,build.gradle,vert.x,jooq,Gradle,Build.gradle,Vert.x,Jooq,我正在尝试将JOOQ与最新版本4.0.0的vertx一起使用。我想通过gradle生成我的DAO和表。以下是我的build.gradle代码 buildscript { ext { vertx_jooq_version = '4.0.0' postgresql_version = '42.2.2' } repositories { mavenLocal() mavenCentral() } d
buildscript {
ext {
vertx_jooq_version = '4.0.0'
postgresql_version = '42.2.2'
}
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath "io.github.jklingsporn:vertx-jooq-generate:$vertx_jooq_version"
classpath "org.postgresql:postgresql:$postgresql_version"
}
}
import groovy.xml.MarkupBuilder
import org.jooq.util.GenerationTool
import javax.xml.bind.JAXB
group 'your group id'
version 'your project version'
apply plugin: 'java'
dependencies {
compile "io.github.jklingsporn:vertx-jooq-classic:$vertx_jooq_version"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
task jooqGenerate {
doLast() {
def writer = new StringWriter()
new MarkupBuilder(writer)
.configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.10.0.xsd') {
jdbc {
driver('org.postgresql.Driver')
url('jdbc:postgresql://IP:PORT/DATABASE')
user('YOUR_USER')
password('YOUR_PASSWORD')
}
generator {
name('io.github.jklingsporn.vertx.jooq.generate.classic.ClassicJDBCVertxGenerator')
database {
name('org.jooq.meta.postgres.PostgresDatabase')
include('.*')
excludes('schema_version')
inputSchema('public')
includeTables(true)
includeRoutines(true)
includePackages(false)
includeUDTs(true)
includeSequences(true)
}
generate([:]) {
deprecated(false)
records(false)
interfaces(true)
fluentSetters(true)
pojos(true)
daos(true)
}
target() {
packageName('io.one.sys.db')
directory("$projectDir/src/main/java")
}
strategy {
name('io.github.jklingsporn.vertx.jooq.generate.VertxGeneratorStrategy')
}
}
}
GenerationTool.generate(
JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.meta.jaxb.Configuration.class)
)
}
}
这是从github链接获取的
但当我运行commmand/gradlew jooqGenerate
生成代码时,它给出了错误:
标签是必需的。有关详细信息,请参阅http://www.jooq.org/xsd/jooq-codegen-3.11.0.xsd
我检查了jooq codegen库中的org.jooq.codegen.GenerationTool
。下面是代码
org.jooq.meta.jaxb.Generator g = configuration.getGenerator();
if (g == null)
throw new GeneratorException("The <generator/> tag is mandatory. For details, see " + Constants.NS_CODEGEN);
我无法理解谁应该调用withGenerate()方法来创建Generator对象
谁能告诉我这里出了什么问题,或者jklingsporn图书馆有什么问题吗。
我必须将url更新为,因为xsd有不同的版本
public Generator withGenerate(Generate value) {
setGenerate(value);
return this;
}
public void setGenerate(Generate value) {
this.generate = value;
}