Aeonbits.OWNER 在 Maven 中不起作用?故障排除

Aeonbits.OWNER doesn't work in maven? Troubleshooting

出于某种原因,当我 运行 mvn clean test -Denv=test -Dplatform=test maven 无法执行所有者的方法时

private static Environment config = configFactory.create(Environment.class, System.getProperties());

private static String url = config.getUrl();

它只是 return 空值而不是 中的字段。属性 文件

我有几个这样的 .属性 文件: prod.desktop.properties 并通过以下方式获取他们的字段:

@Config.Sources({"classpath:${env}.${platform}.properties"})

我认为Build is Success but Test does not run with Maven有几乎相同的问题。 构建工作正常并编程 运行s 直到 var 应该 return a 属性 的特定时刻。 例如,如果 env = config.getEnv() 我将使用 env = System.getProperty('env') 那么一切都很好

Full pom.xml

如果我 运行 通过 IDEA 运行ner(TestNG 配置)进行项目 - 一切正常 100%。我不知道为什么 mvn builder 不想在某个时候执行 ConfigFactory.create() 并且找不到任何拥有 运行 maven+owner 的人。

补充信息: 如果我在上面 运行 配置方法但指定 -Durl={url} 作为 arg 然后而不是从获取 url Environment.class 属性 url 与 -Durl 中的一样。所以 smh 方法有效但由于某种原因无法达到 Environment.class...

好的,我已经定位问题了。

出于某种原因,mvn 无法读取 属性 文件地址如下:

@Config.Sources({"classpath:${property}.properties"})

因此您必须将其更改为:

@Config.Sources({"file:src/main/resources/${property}.properties"})