在单个文件夹中包含带有Jar文件的属性文件

时间:2013-01-14 05:40:04

标签: java eclipse helios

我正在Eclipse Helios中创建一个java应用程序。我创建了一个类,我需要从.properties文件中获取数据,我在包含该解决方案的文件夹中添加了该文件。通过此代码,我可以访问来自.properties文件,当我尝试在Eclipse中运行它时。

代码是:

Properties prop = new Properties();
prop.load(new FileInputStream("config.properties"));
_url = prop.getProperty("url");

通过此代码,我获得了Url的正确值。

在此之后我创建了一个项目的可执行jar。当我尝试使用命令行执行jar时,我得到了一个FileNotFoundException,意味着jar无法找到.properties文件。

我将.properties文件保存在与Jar文件相同的文件夹中,因为我们提供了编辑.properties文件的功能。

由于我开始在Java工作仅4天,我无法弄清楚.properties文件的放置位置以及如何访问它。

请帮忙。

2 个答案:

答案 0 :(得分:1)

对于jar尝试使用:

prop.load(getClass().getClassLoader().getResourceAsStream("config.properties"));

如果从静态上下文中调用:

prop.load(YourClassName.class.getClassLoader().getResourceAsStream("config.properties"));

答案 1 :(得分:0)

您需要让类加载器获取资源。 见http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html

Properties prop = new Properties();
prop.load(classLoader.getResourceAsStream("config.properties"));
_url = prop.getProperty("url");