Quarkus项目曾经覆盖多模块形式,当击中现有端点时得到404
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
实际上类似于this example。>
全部编译并运行。
./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
在my-project-backend中/ ... / resources / application.properties中
quarkus.application.name=my-project-service quarkus.http.root-path=/my-project-service
所以我实际上必须打电话给http://localhost:8080/my-project-service/。这尚未更改。
我想,呼叫从未到达应用程序。
Q:
可能是什么问题?UPDATE:
我在运行时得到了那个空指针。
仅供参考:可能/ 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。
(可能与此fix相关]
我试图将resources / application.properties(不确定应该在哪里)移动到我的根项目中。没有效果。
P.S。我也将所有(也)转换为Gralde
。相同的问题。
UPDATE 2:
- 切换到最新(现在是1.1.0.CR1)版本
现在我看到了一些新的例外:-
Failed to start Quarkus: java.lang.IllegalArgumentException: Multiple matching properties for name "datasource.url"
即使每个环境只有一个,但对于开发人员来说只有一个:%dev.quarkus.datasource.url
我想这只是一个新错误。回滚我过去的位置。
UPDATE3:
quarkus.version:1.0.1.Final用于具有可轻松使用的端点的有效quarkus Web项目。将其转换为多模块之一。仍然使用Maven。这样:my-project-service-my-project -...
到目前为止,(基于git thread使它起作用:
以上是关于Quarkus项目曾经覆盖多模块形式,当击中现有端点时得到404的主要内容,如果未能解决你的问题,请参考以下文章