我正在开发一个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
你尝试只是'的getBundle( “BaseProject”)'? – 2009-06-10 16:12:05
是的,我确实尝试过使用“BaseProject”,这种方式在conf /在bin /目录下工作 – JediPotPie 2009-06-10 19:09:04