当前位置: 首页 > 知识库问答 >
问题:

quarkus和jandex以及显式jpa实体

柴晔
2023-03-14

我的quarkus概念验证中的JPA实体出现错误。

2019-10-24 13:08:09,303 WARN  [io.qua.agr.dep.AgroalProcessor] (build-27) Agroal dependency is present but no driver has been defined for the default datasource
2019-10-24 13:08:09,515 WARN  [io.qua.dep.ste.ReflectiveHierarchyStep] (build-20) Unable to properly register the hierarchy of the following classes for reflection as they are not in the Jandex index:
        - com.me.quaaaaaaakusone.domain.EmployeeEntity
        - com.me.quaaaaaaakusone.domain.JobTitleEntity
Consider adding them to the index either by creating a Jandex index for your dependency via the Maven plugin, an empty META-INF/beans.xml or quarkus.index-dependency properties.");.

我发现了这个帖子:

如何在Quarkus中为外部模块中的类创建Jandex索引

我按照SOF的回答做了,这也在日志中:

一个空的META-INF/beans。xml

但我还是收到了上面的警告。

我真正想要的是:

我如何明确地告诉quarkus我的JPA实体的位置。

我的主要目标是减少启动时间,所以我尽量避免(过度)扫描。

我使用的是Gradle,所以我很难识别子模块的groupid和artifactid。

我发现:

https://plugins.gradle.org/plugin/org.galaxx.gradle.jandex

但它并没有告诉你如何实现它。

与简单的例子相反。我对代码进行了分层,并为域子模块中的实体创建了(子)模块。

我的文件夹结构如下所示:

myRootFolder\apicore\src\main\java
myRootFolder\apicore\src\main\resources

myRootFolder\dal\src\main\java
myRootFolder\dal\src\main\resources

myRootFolder\domain\src\main\java
myRootFolder\domain\src\main\resources

myRootFolder\restlayer\src\main\java
myRootFolder\restlayer\src\main\resources

我的设置。gradle看起来像这样:

pluginManagement {
    repositories {
        mavenLocal()
        mavenCentral()
        gradlePluginPortal()
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id == 'io.quarkus') {
                useModule("io.quarkus:quarkus-gradle-plugin:${quarkusVersion}")
            }
        }
    }
}

rootProject.name = 'quaaaaaaakusoneRoot'

include 'domain'
include 'dal'
include 'apicore'
include 'restlayer'

共有1个答案

锺离晗昱
2023-03-14

将此插件添加到构建中。域模块的渐变。这将在包含域实体的jar内创建jandex索引,quarkus在构建图像时使用该索引。

 类似资料:
  • 我正在尝试在Quarkus中迁移spring boot应用程序。经过一些尝试,我发现并不是所有的bean都被发现了,所以我尝试按照这个指南创建一个jandex索引https://quarkus.io/guides/cdi-reference.除了spring web工件之外,其他所有依赖项都很容易被发现,但当spring web出现时,它会显示: 无法解析工件组织。springframework:

  • 问题内容: 问题在标题中。下面我仅描述了我的一些想法和发现。 当我有一个非常简单的域模型(3个表没有任何关系)时,我所有的实体都没有实现Serializable。 但是,当域模型变得更加复杂时,我遇到了RuntimeException,它表示我的一个实体没有实现Serializable。 我使用Hibernate作为JPA实现。 我想知道: 它是特定于供应商的要求/行为吗? 我的可序列化实体会怎样

  • 我有一个表列,其波浪线值如下所示 我想查询月份“vendorAndPurchaseDate,如“%~08 20'”,以及2020年底的“vendorAndPurchaseDate,如'20'”。我使用Spring数据JPA来查询这些值。我以前从未使用过tilde值的列。请给我指出一个正确的方向或一些例子

  • 我有一个问题,这似乎是非常类似于如何创建一个Jandex索引在Quarkus的类在一个外部模块,我仔细地按照所有建议的步骤(jandex maven插件,空beans.xml,索引其他依赖)。 与上述问题的一个明显区别是,quarkus在我的案例中没有找到第三方类,所以我尝试“索引其他依赖项”。然而,javax。坚持不懈AttributeConverter是maven模块javax的一部分。持久性

  • 我目前正在将我的数据库层(实体和DAO)从JavaEE迁移到Quakus(或者从wls迁移到OpenShift),并且不能完全理解一些细节: 目前我有目前的结构: 信息类注册时间。爪哇 我的测试类注册了TimeDaoTest,它使用TestDB在内存中执行以下操作: } 我一直潜伏在quarkus.io,读到以下内容: https://quarkus.io/guides/datasource ht

  • 有没有一种方法可以直接将显微轮廓指标发送到石墨?我找到的关于Quarkus的唯一指南是https://Quarkus.io/guides/microprofile-metrics。我正在寻找与Spring Boot https://micrometer.io/docs/registry/graphite类似的东西。我们是否有相同的东西,但在Quarkus上下文中(有本机映像支持)?