小编Eme*_*son的帖子

升级到 Quarkus 1.3.0-FINAL 后运行测试时出现 NoSuchMethodException 错误

在 IntelliJ IDE 2019.3.4 和 JDK GraalVM 20.0.0 和 maven 3.6.3 上运行时发生。

"C:\Program Files\Java\graalvm-ce-java8-20.0.0\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains \IntelliJ IDEA 社区版 2019.3.4\lib\idea_rt.jar=52496:C:\Program Files\JetBrains\IntelliJ IDEA 社区版 2019.3.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.4\lib\idea_rt.jar" com.intellij.rt.execution.CommandLineWrapper C:\Users\emerson.santos\AppData\Local\Temp\idea_classpath268905798 com.intellij.rt.junit .JUnitStarter -ideVersion5 -junit5 com.softexpert.analytics.services.materialization.MaterializationServiceIntegrationTest,test
[INFO] H2 数据库以 TCP 服务器模式启动;服务器状态:TCP 服务器运行在 tcp://10.0.75.1:9092(仅本地连接)
[INFO] H2 数据库被关闭;服务器状态:未启动
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.NoSuchMethodException: io.quarkus.runner.bootstrap.AugmentActionImpl.(io.quarkus.bootstrap.app.CuratedApplication, java.util.List )
    在 io.quarkus.test.junit.QuarkusTestExtension.beforeEach(QuarkusTestExtension.java:164)
    在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachCallbacks$1(TestMethodTestDescriptor.java:154)
    在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$5(TestMethodTestDescriptor.java:190)
    在 org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:190)
    在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachCallbacks(TestMethodTestDescriptor.java:153)
    在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
    在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:71)
    在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135)
    在 org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) …

java intellij-idea maven quarkus

5
推荐指数
1
解决办法
1563
查看次数

如何解决JSONB序列化的双向关系?

我正在尝试序列化具有双向关系的实体:

class TypeA {
  String name;
  TypeB typeB; 
}

class TypeB {
  String identifier;
  TypeA typeA;
}
Run Code Online (Sandbox Code Playgroud)

与杰克逊我解决@JsonBackReference中的TypeB属性和@JsonManagedReference中的typeA属性,但我怎么能做到这一点的JSONB(Eclipse的Yasson实现)?

Caused by: javax.json.bind.JsonbException: Recursive reference has been found in class class xxxxxx.model.Analysis.
        at org.eclipse.yasson.internal.serializer.ObjectSerializer.serializeInternal(ObjectSerializer.java:76)
        at org.eclipse.yasson.internal.serializer.AbstractContainerSerializer.serialize(AbstractContainerSerializer.java:107)
        at org.eclipse.yasson.internal.serializer.AbstractContainerSerializer.serializerCaptor(AbstractContainerSerializer.java:125)
        at org.eclipse.yasson.internal.serializer.ObjectSerializer.marshallProperty(ObjectSerializer.java:121)
        at org.eclipse.yasson.internal.serializer.ObjectSerializer.serializeInternal(ObjectSerializer.java:69)
        ... 45 more
Run Code Online (Sandbox Code Playgroud)

OBS:我用 DTO 解决了,但疑问依然存在。

java serialization json jackson jsonb

5
推荐指数
1
解决办法
1158
查看次数

创建 kubernetes 部署时 Quarkus RestClient 属性的 env 值无效

按照 Quarkus Rest Client 教程,我需要在 application.properties 文件中添加类似的内容:

country-api/mp-rest/url=https://restcountries.eu/rest

使用 Docker 它可以工作,我可以通过参数传递属性值:

docker run -it --privileged --rm --env country-api/mp-rest/url="https://restcountries.eu/rest" mydockerhost/my-project:SNAPSHOT

Kubernetes 的 YAML 文件如下所示:

apiVersion: "apps/v1"
kind: "Deployment"
metadata:
  labels:
    app.kubernetes.io/name: "my-project"
    app.kubernetes.io/version: "SNAPSHOT"
  name: "my-project-deployment"
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: "my-project"
      app.kubernetes.io/version: "SNAPSHOT"
  template:
    metadata:
      labels:
        app.kubernetes.io/name: "my-project"
        app.kubernetes.io/version: "SNAPSHOT"
    spec:
      containers:
      - env:
        - name: "country-api/mp-rest/url"
          value: "https://restcountries.eu/rest"
Run Code Online (Sandbox Code Playgroud)

但执行命令时出现如下错误kubectl apply -f my-projetc.yaml

The Deployment "my-project-deployment" is invalid: * spec.template.spec.containers[0].env[1].name: Invalid value: "country-api/mp-rest/url": a valid environment variable name …

java kubernetes quarkus quarkus-rest-client

3
推荐指数
1
解决办法
1430
查看次数

我如何知道哪些第三方依赖项在原生模式下与 Quarkus 兼容?

在开发过程中,我可能需要向我的项目添加第三方依赖项。在 JVM 模式下它确实有效,但是如何确定哪些依赖项与 Quarkus 本机模式不兼容?

java microservices quarkus

3
推荐指数
1
解决办法
87
查看次数