【问题标题】:Call Property file from a jar included in my project从我的项目中包含的 jar 调用属性文件
【发布时间】:2014-12-20 18:07:30
【问题描述】:

我已经包含了一个用于身份验证的 jar(我构建了它:MyJar.jar),在那个 jar 中我必须读取我在包中的一些属性(例如 com.jar)。 myproject.properties) 在我的项目的属性文件中。

我在 MyJar.jar 中有一个方法,它接收属性名称和属性文件的路径,如下所示:

public String getValueOfProperty(String property,String pathToPropertyFile){

    BasicTextEncryptor encryptor = new BasicTextEncryptor();
         Properties props = new EncryptableProperties(encryptor);
         props.load(new FileInputStream(pathToPropertyFile));
         ....
}

我收到以下错误:系统找不到指定的路径

路径为:com/myproject/properties/conf.properties

我做错了什么?

【问题讨论】:

  • 属性文件是否打包在jar中?如果是这样,您将不得不以不同的方式加载它。
  • 它在项目的一个包中,我已经包含了 jar @user2494817
  • 它不必在 jar 中,它在一个包 com.myproject.properties 中的一个新项目中,其中我包含了 jar 文件

标签: java jar properties-file


【解决方案1】:

解决了,

这是我用的:

方法接收的路径是这样的:/sv/com/myproject/configuration/file.properties,

此方法将使用相对路径搜索

 public String decryptVar(String var,String PathPropertyFile) throws Exception{

    try {
         BasicTextEncryptor encryptor = new BasicTextEncryptor();
         Properties props = new EncryptableProperties(encryptor);
         InputStream fis = this.getClass().getResourceAsStream(PathPropertyFile);
         props.load(fis);
         encryptor.setPassword(props.getProperty("PROPERTY_IN_FILE")); 
         return props.getProperty(var);

    } catch (Exception e) {
    throw new Exception(e.getMessage());
    }   

}

实现:JASYPTH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-07
    • 2013-05-13
    • 1970-01-01
    • 2017-11-18
    • 2014-08-17
    • 2013-05-14
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多