这个问题可能是由于 Jakarta EE10 / Wildfly 27 Final 使用了新的配置 API 所导致的。Apache Deltaspike 的 @Configproperty 基于老的 API 实现,因此在新的环境中可能会遇到问题。
要解决这个问题,可以将 Apache Deltaspike 升级到最新版本,该版本包含对新配置 API 的支持。
例如,使用基于 Jakarta EE10 的 Wildfly 27 Final,在 pom.xml 文件中添加以下依赖项:
org.apache.deltaspike.core
deltaspike-core-api
1.9.3
org.apache.deltaspike.core
deltaspike-core-impl
1.9.3
然后,在使用 @ConfigProperty 注释时,使用新的配置 API(javax.config)的方式。例如:
import javax.inject.Inject;
import javax.config.Config;
import org.apache.deltaspike.core.api.config.ConfigProperty;
public class MyService {
@Inject
private Config config;
@ConfigProperty(name = "my.property", defaultValue = "default value")
private String myProperty;
public void doSomething() {
String myPropertyFromConfig = config.getOptionalValue(
"my.property", String.class).orElse(myProperty);
System.out.println("my.property: " + myPropertyFromConfig);
}
}
通过这种方式,您应该能够在 Jakarta EE10 / Wildfly 27 Final 中成功使用 Apache Deltaspike 的 @Configproperty。