带有Gradle和Kotlin的JOOQ不会生成文件
我在build.gradle.kts中有以下gradle任务。 它应该从我的JPA实体生成文件。 但是,运行此任务时,一旦成功,将不会生成文件或目录。
task(name = "generateJooq") { doLast { val configuration = Configuration().apply { generator = Generator().apply { database = Database().apply { name = "org.jooq.util.jpa.JPADatabase" properties = listOf(Property().apply { key = "packages" value = "com.example.sample" }) } target = Target().apply { packageName = "com.example.jooq" directory = "src/generated/java" } } } GenerationTool.generate(configuration) } }
这是我的实体生活在包com.example.sample
。 请注意,我用Java编写了这个实体。
@Entity public class Book { @Id private String id; @Column private String title; }
有以下日志
./gradlew clean generateJooq BUILD SUCCESSFUL in 1s 2 actionable tasks: 2 executed
我猜你的Book
类在src/main/java
正确的?
现在你想让这个课程可以用于JOOQ
吗? 在编译src/main/java
之前定义了Gradle buildscript classloader(加载gradle任务)时,有一些鸡或egg的问题。
您需要将自定义类加载器传递给JOOQ
(例如URLClassloader)。 然后JOOQ
可以使用类加载器来加载类(希望JOOQ
API的支持)。 您可以使用sourceSets.main.runtimeClasspath
来创建一个URL
数组。
我看到GenerationTool
在这里有一个setClassLoader(..)
方法。 我猜你会打电话的
在这里看到一个类似的解决方案(使用Reflections
而不是JOOQ
但基本相同)。
- Gradle kotlin-spring插件不能打开spring类
- Android的 – 如何使用Kotlin在SortTableView中设置ColumnComparator
- 在kotlin中为Gradle脚本配置IntelliJ自动完成
- 在Gradle usin Kotlin中构建JAXB类
- 插件没有在Android自动构建中发现gradle错误
- 在Gradle项目中混用Java和Kotlin,Kotlin无法找到Java类
- Android Studio构建失败,Kotlin
- 无法使用Gradle在IntelliJ Community Edition中添加应用程序服务器
- Gradle的依赖关系缓存可能已损坏