【发布时间】:2017-12-20 04:13:18
【问题描述】:
所以我们有一个正常的批处理应用程序,我们决定将其移植到 dropwizard。我们希望使用 dropwizard 来获得许多开箱即用的好处,例如 HealthCheck、指标等。
稍后我们可能会添加一些 REST 管理端点,但现在我们只是使用 DropWizard 托管服务在单独的线程中启动我们的应用程序。我们创建了一个示例配置 yml 文件,但它大多只是一个骨架。
这种移植主要是提升和转移,我们希望避免对代码进行大量重构。该应用程序当前与两个不同的属性文件绑定在一起,我们希望保持这种状态。
我们已经找到了一种方法来使用自定义部署程序来部署我们的应用程序,该部署程序会生成这些属性文件“application.properties”和“system.properties” 由于某种原因,该应用程序无法读取这些文件并抛出 NPE。这是一个java应用程序。所有的jar都在lib目录下,配置文件在config目录下。它似乎无法解决这些文件。我曾尝试搜索 dropwizard 文档,但没有找到任何有用的东西。 代码只是简单地期望文件在特定目录中
private static final String APP_PROPERTIES_FILE = "/application.properties";
File file = new File(DataSourceFactory.class.getResource(filename)
.getFile());
dropwizard 版本:1.2.2 这就是我运行应用程序的方式:
java -cp "deployed/App/lib/*:deployed/App/config/*" com.commercehub.app.MainClass server config.yml
任何cmets都非常感谢!
【问题讨论】:
-
请分享读取这些属性文件的代码以及 DW 版本。谢谢。
-
@AndréBarbosa 在问题中添加了详细信息
-
感谢@stillLearning。您是否尝试过在 APP_PROPERTIES_FILE 上没有开始“/”和没有“/config/”?您是否在“.getFile()”或 new File(...) 上获得 NPE?
标签: java configuration dropwizard