java - 如果配置中提供了默认值,Quarkus >= 0.18.0 将无法构建

标签 java quarkus

我们使用 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/

相关文章:

quarkus - 重新启动 Reactive Messaging,例如重新配置后

java - 如何在 Quarkus 原生镜像中包含类路径资源?

java - Optaplanner 和 Quarkus 求解器配置更新

java - 无法模拟 Quarkus、NullPointer 异常且找不到相关导入

java - 在 Java 中使用带有类似运算符和参数的选择查询

java - 如何使用图形捕获滚动 Pane 的内容

java - 创建 kubernetes 部署时,Quarkus RestClient 属性的环境值无效

java - 如何播放广播直播流 .asx 视频/x-ms-asf?

java - Android 中 doInBackground() 方法中出现致命异常 :Async Task java. lang.OutOfMemoryError?

java - 通过反射将所有值从一个类中的字段复制到另一个