2009-06-10 35 views
1

我正在开发一个Java项目,我想以.jar文件的形式将其发送给我的客户端。但是,我希望允许客户端能够更改程序的参数,而无需重新编译或重新创建.jar。基本上,我希望能够从.jar中的类中加载.properties文件,但在.jar之外甚至在工作目录之外找到那些.properties文件。访问与工作目录相同级别的.properties文件

我一直在测试我在Eclipse中的尝试,这可能会导致一些问题,但我现在看不到。我的设置如下。我有一个项目包含几个我从中创建.jar文件的类。我有一个.properties文件,用于在创建.jar类时创建ResourceBundle。我指定一个额外的目录“conf /”包含在.jar清单中的.jar类路径中。

建立.jar文件后,它将被复制到另一个项目的lib /目录中,这个项目用于测试。该测试项目在Java Build Path中将.jar文件作为库(“添加外部Jars ..”)。 .properties文件位于与lib /,src /和bin /位于同一级别的conf /目录,但我无法在其中找到它。我能够得到它的唯一方法是找到conf/src /(和bin /),但我希望能够在一个层次上使用它。这可能吗?

下面是该.jar清单文件项...

Class-Path: ../conf/ 

这里的资源包呼,我试图(没有工作)...

rb = ResourceBundle.getBundle("..conf.BaseProject"); 

这里的目录结构现在工作(名称已被改变,以保护无辜)...

 
/Project 
/Project/bin 
/Project/bin/conf 
/Project/bin/conf/BaseProject.properties 
/Project/bin/TestClass.class 
/Project/lib 
/Project/lib/BaseProject.jar 

这是我想要的目录布局(再次,文件名不重要)...

 
/Project 
/Project/bin 
/Project/bin/TestClass.class 
/Project/conf 
/Project/conf/BaseProject.properties 
/Project/lib 
/Project/lib/BaseProject.jar 
+1

你尝试只是'的getBundle( “BaseProject”)'? – 2009-06-10 16:12:05

+0

是的,我确实尝试过使用“BaseProject”,这种方式在conf /在bin /目录下工作 – JediPotPie 2009-06-10 19:09:04

回答

相关问题