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