quarkus - 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:
- 切换到最新(现在是 1.1.0.CR1)版本
现在我看到了一些新的例外:-
Failed to start Quarkus: java.lang.IllegalArgumentException: Multiple matching properties for name "datasource.url"
即使我每个环境都有一个,但只有一个用于开发:%dev.quarkus.datasource.url我想这只是一个新的错误。滚回我原来的位置。
UPDATE3: 如果我编译本机,应用程序工作/响应休息请求。似乎它只是关于开发(可能是热重载的事情)。
解决方案
在尝试时我遇到了这个问题:https ://github.com/quarkusio/quarkus/issues/6275
您是否也使用最新的 Quarkus 版本遇到了这个问题?
推荐阅读
- angular - 更改 NGRX 数据 additionalCollectionState 属性
- azure - 在 Azure Web Apps for Containers 上禁用自动 URL 取消转义
- css - 如何让 div 至少占用 50% 的空间,但如果没有兄弟姐妹则占用 100%
- .net - .net 核心 iformfile 未捕获 formdata 提交
- optimization - 有没有办法缓存 OpenMDAO 组件输出以避免重复执行?
- flutter - Flutter如何将行小部件子级对齐到左侧和中心
- python - 使用 asyncio 进行超时和计数控制
- sql - 哪种数据类型适合不同长度的 xml 文件存储在 SQL 数据库中?
- flutter - stream_chat_flutter: ^3.1.1 集成问题
- sql - 如何在 aws athena 中的 struct<$oid:string> 处查询