我们使用 0.18.0 quarkus 版本构建了一个应用程序,并且具有以下 application.properties
:
quarkus.datasource.url=${POSTGRES_DATABASE_URL}
quarkus.datasource.driver=org.postgresql.Driver
quarkus.hibernate-orm.database.generation=update
quarkus.hibernate-orm.dialect=org.hibernate.dialect.PostgreSQL10Dialect
quarkus.http.port=${PORT:8080}
%dev.quarkus.datasource.url=jdbc:h2:mem:db
%dev.quarkus.datasource.driver=org.h2.Driver
%dev.quarkus.hibernate-orm.dialect=org.hibernate.dialect.H2Dialect
当我尝试升级到 0.20.0(或任何更高版本,包括 1.0.0.Final)时,使用 maven 构建时出现以下错误:
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:0.20.0:build (default) on project thats-my-spot: Failed to build a runnable JAR: Failed to build a runner jar: Failed to augment application classes: For input string: "${PORT:8080}" -> [Help 1]
为什么?
${PORT:8080}
只是意味着它应该采用 PORT
环境变量(如果可用)或使用 8080
(如果不可用)。
我研究了潜在的问题、语义的变化,但只发现了一个可能触及属性默认值的错误:https://github.com/quarkusio/quarkus/issues/3030但描述和解决方案不同,所以我不认为它破坏了我的应用程序。
最佳答案
您可以尝试使用 1.2.1.Final 吗?我们在处理环境属性默认值时遇到了一些问题,但它已经解决了很长一段时间。
如果您可以使用最新版本重现它,请使用重现器在我们的跟踪器中打开一个问题,我们会查看。
关于java - 如果配置中提供了默认值,Quarkus >= 0.18.0 将无法构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60338324/