【问题标题】:Where to place the configuration files that should be readable by the jar file in dynamic java project? [duplicate]动态java项目中jar文件应该可以读取的配置文件放在哪里? [复制]
【发布时间】:2012-08-17 19:14:13
【问题描述】:

可能重复:
Problem locating file in a classpath

xml文件之类的配置文件应该放在java动态web项目的什么地方,lib文件夹中的外部jar文件应该在运行时读取配置文件。

【问题讨论】:

  • 问答时间均为2012-08-22 11:14:24Z
  • @Sunny 你是对的,当我们提问时,这是stackoverflow中的一个选项。当我挣扎了一段时间才找到这个时,我已经这样做了,这可能对将来的某人有用。
  • 我投票结束,因为这个问题已经得到了一遍又一遍的回答......

标签: java jakarta-ee configuration web-config


【解决方案1】:

底线是这些文件必须到达您的应用程序类路径。如果是 web probject WEB-INF/classes 是最好的位置。 (正如@Easwaramoorthy Kanaga 已经提到的)。

问题是将文件放在项目中的什么位置。 如果您使用的是 maven,它几乎决定了位置 src/main/resources。如果您不使用 maven,请将它们放到资源目录中。资源目录应定义在与src 目录相同的级别。例如,如果您的项目根目录下有src 目录,则在同一位置创建resources 目录。配置您的 IDE 以将这些文件复制到目标目录。更新您的构建脚本以执行相同的操作。

【讨论】:

  • 感谢您提供更多信息。
【解决方案2】:

您可以将它放在 WEB-INF/classes 文件夹中。即使您可以在 classes 文件夹中放置一个文件夹,它也能完美运行。

还有一件事,jar 文件应该使用硬编码路径读取配置文件,而不是这样。

String xmlFilePath = "configfile.xml";    
InputStream file = this.getClass().getClassLoader().getResourceAsStream(xmlFilePath);

【讨论】:

  • 考虑将您的答案标记为正确答案。
猜你喜欢
  • 2010-10-02
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 1970-01-01
  • 2017-02-13
相关资源
最近更新 更多