首页 > 解决方案 > Quarkus 项目一旦覆盖到多模块形式,在到达现有端点时得到 404

问题描述

quarkus.version :1.0.1.Final

曾经有工作quarkus的 web 项目,带有易于休息的端点。

将其转换为多模块之一。

还是用maven

这边走:

 my-project-service
   - my-project-api
     - data-api-object.java
     - pom.xml // dep on `quarkus-core` as `provided`
   - my-project-backend
     - pom.xml  + depends on my-project-api
   - pom.xml // managed dependencies defined

实际上类似于这个例子

所有编译并运行。

./mvnw compile quarkus:dev

我看到日志:

- [io.quarkus] (main) Quarkus 1.0.1.Final started in 1.595s. Listening on: http://0.0.0.0:8080
- [io.quarkus] (main) Installed features: [agroal, cdi, infinispan-client, jaeger, narayana-jta, reactive-pg-client, rest-client, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-fault-tolerance, smallrye-health, smallrye-metrics, smallrye-openapi, smallrye-opentracing, swagger-ui, vertx]

但是当我达到曾经工作的终点时:

http://localhost:8080/my-project-service/stuff

我有:404

如果我检查我的健康检查网址: http://localhost:8080/my-project-service/health/ready

在我的项目后端/.../resources/application.properties

quarkus.application.name=my-project-service
quarkus.http.root-path=/my-project-service

所以我实际上必须调用http://localhost:8080/my-project-service/。这一直没有改变。

我想,电话从来没有到达应用程序。

问:可能是什么问题?

更新:

运行时我得到了那个空指针。

仅供参考:可能 /src/main/etc 文件夹是空的 - 父 pom 项目(pom)中没有源。

Listening for transport dt_socket at address: 5005
Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException
        at io.quarkus.dev.DevModeMain.main(DevModeMain.java:70)
Caused by: java.lang.NullPointerException
        at sun.nio.fs.UnixPath.normalizeAndCheck(UnixPath.java:77)

我确实清理了 /target 文件夹等...没有帮助。

我可以访问http://localhost:8080/swagger-ui/ - 它可以工作但为空。一旦工作http://localhost:8080/my-project-service/swagger-ui/也得到 404。

(可能与此修复有关)

我试图将 resources/application.properties(不确定它应该在哪里)移动到我的根项目。没有效果。

PS我将所有(也)转换为Gralde. 同样的问题。

更新 2:

UPDATE3: 如果我编译本机,应用程序工作/响应休息请求。似乎它只是关于开发(可能是热重载的事情)。

标签: quarkus

解决方案


在尝试时我遇到了这个问题:https ://github.com/quarkusio/quarkus/issues/6275

您是否也使用最新的 Quarkus 版本遇到了这个问题?


推荐阅读