Java 从项目中包含的jar调用属性文件

Java 从项目中包含的jar调用属性文件,java,jar,properties-file,Java,Jar,Properties File,我已经包含了一个jar(我构建了它:MyJar.jar),我用它来进行身份验证,在这个jar中,我必须读取项目属性文件中的包(例如com.myproject.properties)中的一些属性 我在MyJar.jar中有一个方法,它接收属性的名称和属性文件的路径,如下所示: public String getValueOfProperty(String property,String pathToPropertyFile){ BasicTextEncryptor encryptor =

我已经包含了一个jar(我构建了它:MyJar.jar),我用它来进行身份验证,在这个jar中,我必须读取项目属性文件中的包(例如com.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

我做错了什么?

解决了

这就是我使用的:

方法接收的路径如下:/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

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