【问题标题】:Maven vaadin war can't find a properties file when deployedMaven vaadin war在部署时找不到属性文件
【发布时间】:2016-11-21 22:18:51
【问题描述】:

我有一个 Vaadin 应用程序,它在 ./src/main/resources/VAADIN/myfile.properties 中有一些配置属性。我在码头上调试这个应用程序,同时通过 maven tomcat 插件在 tomcat 服务器上开发和测试 d 版本。

<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>

目标:

  • 开发中:jetty:run
  • D 版:tomcat7:run

这很好用。

问题在于,如果我通过 package 目标打包整个内容并将生成的战争部署到 q-system(也是 Tomcat 7),则该应用程序将无法运行。我打开部署的应用程序,它立即从第一次需要上述属性文件的行中抛出 MissingResourceException。


附加信息:

  • 我还尝试从 Eclipse 中手动导出 - 结果相同
  • 资源正确放置在“类”下

    这个截图显示了war-file的./WEB-INF/classes/VAADIN/的内容

    Login_application.properties 是提到的文件。

  • 抛出异常的行如下所示:

    final ResourceBundle aR = ResourceBundle.getBundle("VAADIN.Login_Application", loc, cl);

  • 也拼命尝试:

    final ResourceBundle aR = ResourceBundle.getBundle("VAADIN.Login_Application");

    当然结果是一样的。

非常感谢 :)

【问题讨论】:

  • 如何访问代码中丢失的文件?
  • @SteffenHarbich 我已经编辑了这个问题。您需要更多信息吗?
  • 我的天哪...我只是因为错字而设置了这个问题吗? O.o Login_Application(Java 代码)与 Login_application(实际文件名)。奇怪的是它在调试时仍然有效。

标签: java maven tomcat vaadin war


【解决方案1】:

这只是一个错字。很抱歉浪费时间。

我已将文件重命名为“Login_Application.properties”而不是“Login_application.properties”,一切正常。仍然奇怪它在开发时在码头和tomcat中工作。

【讨论】:

  • 你是在windows上开发,在unix/linux上部署吗?
  • @Morfic 好主意(!)但不幸的是没有。
猜你喜欢
  • 2015-08-17
  • 2012-05-08
  • 2018-03-15
  • 1970-01-01
  • 2017-01-27
  • 1970-01-01
  • 2014-06-05
  • 2015-02-08
  • 1970-01-01
相关资源
最近更新 更多