如果配置中提供默认值,则 Quarkus >= 0.18.0 无法构建

Quarkus >= 0.18.0 fails to build if default values provided in configuration

我们使用 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 吗?在某些时候,我们在处理环境属性的默认值时遇到了一些问题,但已经解决了很长一段时间。

如果你能用最新的复制它,请在我们的跟踪器中用复制器打开一个问题,我们会看看。