处理JAR和开发中的资源文件路径

时间:2010-01-16 00:19:47

标签: java maven-2 jar

我有一个密钥库文件,我希望我的应用程序中的几个类可用。我创建了一个.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中的资源。

1 个答案:

答案 0 :(得分:3)

  

这是一个基于Maven的项目,因此密钥库位于/ src / main / resources中。我构建一个jar并将文件移动到jar中的/ resources。我想.config文件说“resources / keystore.jks”。

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

  

如何解析.config文件:

     
      
  1. 使用/src/main/resources/keystore.jks   应用程序代码正在开发中。
  2.   
  3. 使用/src/test/resources/keystore.jks   测试代码。
  4.   
  5. 使用jar中的资源。
  6.   

如果您遵循我之前的建议,那么您没有任何特别的事情要做。

  1. src/main/resources中的资源在普通类路径中可用
  2. src/test/resources中的资源在测试类路径中可用(在runnign mvn test时优先于普通类路径)
  3. src/main/resources是资源路径的根。如果您希望在/my/package/my.properties下提供某些内容,请输入src/main/resources/my/package/my.properties
  4. 如果确实无法满足您的需求,请查看resources filtering。对于更复杂的事情,可以将过滤与profiles结合使用。或者您也可以使用多个过滤器并通过传递属性来选择正确的过滤器。但是,正如我所说,我不确定你是否需要这个。