【问题标题】:Handling resource file paths in JAR's and development处理 JAR 和开发中的资源文件路径
【发布时间】:2010-01-16 00:19:46
【问题描述】:

我有一个密钥库文件,我希望我的应用程序中的多个类都可以使用它。我制作了一个 .config 文件,其中包含密钥库文件的名称、密码和其他信息。

这是一个基于 Maven 的项目,所以密钥库在 /src/main/resources 中。我构建了一个 jar 并将文件移动到 jar 中的 /resources 中。我希望 .config 文件显示类似“resources/keystore.jks”的内容。

如何解析 .config 文件:

  1. 将 /src/main/resources/keystore.jks 用于开发中的应用程序代码。
  2. 使用 /src/test/resources/keystore.jks 作为测试代码。
  3. 在 jar 中使用 /resources。

【问题讨论】:

    标签: java maven-2 jar


    【解决方案1】:

    这是一个基于 Maven 的项目,所以密钥库在 /src/main/resources 中。我构建了一个 jar 并将文件移动到 jar 中的 /resources 中。我希望 .config 文件显示类似“resources/keystore.jks”的内容。

    你为什么这样做?你不应该移动它。如果您希望它在类路径上的/resources 中可用,只需将该密钥库放在resources/resources/keystore.jks 中。

    如何解析 .config 文件:

    1. 将 /src/main/resources/keystore.jks 用于 开发中的应用程序代码。
    2. 将 /src/test/resources/keystore.jks 用于 测试代码。
    3. 在 jar 中使用 /resources。

    如果你听从我之前的建议,那么你就没有什么特别的事情要做了。

    1. src/main/resources 中的资源在普通类路径中可用
    2. src/test/resources 中的资源在测试类路径中可用(在运行 mvn test 时优先于普通类路径)
    3. src/main/resources 是资源路径的根。如果您想在/my/package/my.properties 下提供某些内容,请输入src/main/resources/my/package/my.properties

    如果这确实不能满足您的需求,请查看resources filtering。过滤可以与profiles 结合使用以处理更复杂的事情。或者您也可以使用多个过滤器并通过传递属性来选择正确的过滤器。但是,正如我所说,我不确定你是否需要这个。

    【讨论】:

      猜你喜欢
      • 2010-12-26
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 2020-11-26
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      相关资源
      最近更新 更多