从我的项目中包含的 jar 调用属性文件
Posted
技术标签:
【中文标题】从我的项目中包含的 jar 调用属性文件【英文标题】:Call Property file from a jar included in my project 【发布时间】: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 参考:***.com/questions/4548699/load-file-within-a-jar 它不必在 jar 中,它在一个包 com.myproject.properties 中的一个新项目中,其中我包含了 jar 文件 【参考方案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
【讨论】:
以上是关于从我的项目中包含的 jar 调用属性文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中启动我的项目中包含的 .exe 文件? [复制]
收到一个主 jar 文件,其中包含需要在类路径中的其他 jar 文件。在我的 Maven 项目中包含这个主 jar 的最佳方法是啥?