Wildlfy Swarm YAML专有文件

时间:2018-01-24 14:55:04

标签: wildfly wildfly-swarm

我尝试使用自定义参数运行swarm,当我在命令行上传递属性选项时,服务器检测到这些选项并正常运行,例如当我运行此命令时:

  

java -jar test.jar -Dswarm.https.certificate.generate = true

它会生成证书并在特定端口上启动https。

现在根据swarm文档,使用yaml配置文件会更好,所以我创建了一个我想要的版本。但是,当我在命令行中指定我的yaml文件的路径时:

  

java -jar test.jar -S C:\ Users \ x17 \ test \ modules \ wsserver \ project-default.yml

在这种情况下,将忽略包含属性的文件,并且服务器以默认配置启动。

项目默认文件是否应该在我的项目中的特定文件夹中?有人知道如何解决这个问题吗?

谢谢

2 个答案:

答案 0 :(得分:2)

-s-S之间存在差异。您尝试使用的-S选项用于选择与应用程序一起打包的project-*.yml文件,位于uberjar内。例如,

java -jar app-swarm.jar -S local

表示使用打包在应用程序中的文件project-local.yml

如果要设置YAML文件的完整路径,则需要使用-s

java -jar app-swarm.jar -s .../path/to/project-defaults.yml

有关详细信息,请参阅文档:http://docs.wildfly-swarm.io/2018.1.0/#configuring-an-application-using-yaml

答案 1 :(得分:0)

https://github.com/thorntail/thorntail-examples/blob/master/config-options/cdi-injection/src/main/java/org/wildfly/swarm/examples/jaxrs/cdi/Controller.java

可以帮助您找出问题所在。

@Inject
@ConfigurationValue("some.string.property")
String stringProperty;

是有效的CDI注入解决方案。