【问题标题】:Where should I put the application.properties file when deploying an app in Apache Tomcat?在 Apache Tomcat 中部署应用程序时,我应该将 application.properties 文件放在哪里?
【发布时间】:2020-03-06 12:49:43
【问题描述】:

我目前正在 Apache Tomcat 上部署一个 .war 文件。

我已经完成了数据库的设置,ROOT.war文件已经部署在/opt/tomcat/webapps/上。

我被分配部署的 ROOT.war 文件还附带一个 application.properties 文件。

我所做的是将 application.properties 文件放在 ROOT 文件夹的根目录下。像这样:

现在,它目前没有运行。

当我尝试启动它时,Tomcat Web 应用程序管理器会抛出此错误:

FAIL - 上下文路径/应用程序无法启动 FAIL - 遇到异常 org.apache.catalina.LifecycleException: Failed 启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

我接下来要做的是检查位于 /opt/tomcat/logs/catalina.out 中的日志

这一行让我预感问题在于我的 application.properties 文件的位置。

2020-03-06 11:42:15.978 警告 4219 --- [io-8080-exec-27] ConfigServletWebServerApplicationContext:遇到异常 在上下文初始化期间 - 取消刷新尝试: org.springframework.beans.factory.BeanDefinitionStoreException:失败 解析配置类[asia.edusuite.sample.Application]; 嵌套异常是 java.lang.IllegalArgumentException: 不能 解析占位符“property.location”的值 “文件:${property.location}/application.properties”

你认为我应该把 application.properties 文件放在哪里?

非常感谢! -杰里米C

【问题讨论】:

  • 我认为它必须在/WEB-INF/classes
  • 我试着把它放在WEB-INF/classes 中,但我运气不好,它没有用。我仍然收到Could not resolve placeholder 'property.location' in value "file:${property.location}/application.properties" 错误。非常感谢!
  • 可能是@PropertySource注解没有正确使用。输出中打印的值对我来说似乎很奇怪。我更熟悉@PropertySource({ "classpath:application.properties" })@PropertySource(value={"file:application.properties"})。我不确定您是否可以使用这种逻辑为您的 application.properties 定义自定义位置。当您尝试解析 application.properties 的路径时,尝试读取 application.properties 中的位置可能无法解析它。
  • 非常感谢您的意见。恐怕我没有 Java 应用程序的源文件。我的任务是部署它以在 Apache Tomcat 上运行。再次,非常感谢队友!
  • 在这种情况下,如果它不是一个新的应用程序并且它已经部署在过去,我可能是错误的。如果这从未部署过,您应该向开发人员显示错误输出!没问题,希望对你有帮助!

标签: java spring tomcat


【解决方案1】:

Spring 将查找 application.properties 的位置定义为 in the docs

WEB-INF/classes 中的文件位于根类路径中,并且应该是可发现的,除非您的代码专门寻找其他地方。如果您没有源代码,为什么不反编译该类以查看发生了什么? (那里有很多,包括 Intellij 附带的一个 - 你可以打开 .class 文件。)

【讨论】:

    猜你喜欢
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 2014-01-23
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多