File f = new File(System.getProperty("user.home")+File.separator+"test.propertise"); Properties p = new Properties(); p.load(new FileInputStream(f));这个不错
java.util.MissingResourceException: Can't find bundle for base name jdbc, locale ja_JP 不改变原来内部源码的情况下,怎么配置可以执行?内部是直接用的resourcebundle来get的,传过去的参数只有一个名字,没有地址,配置文件在原来的根目录下的时候是可以运行的,但是我现在要把他移出来
一:把配置文件放置在classpath路径的目录下。
二:可以采用相对路径或绝对路径来读取配置文件。打包在jar中,只是方式一的一种特例而已。
try {
fis = new FileInputStream("文件路径");
Properties prop = new Properties();
prop.load(fis);
prop.getProperty("参数名称");// 得到文件参数值
} finally {
try {
fis.close();
} catch (IOException ex) {
System.out.println(ex.getMessage());
} }
比方说,部署到服务器中运行,你需要知道服务器启动的目录,有没有访问权限还是个问题。
放到jar包外,classpath中(即某个classes目录中),用Class.getResourceAsStream来取最好。
File f = new File(System.getProperty("user.home")+File.separator+"test.propertise");
Properties p = new Properties();
p.load(new FileInputStream(f));这个不错
不改变原来内部源码的情况下,怎么配置可以执行?内部是直接用的resourcebundle来get的,传过去的参数只有一个名字,没有地址,配置文件在原来的根目录下的时候是可以运行的,但是我现在要把他移出来
jdbc_ja_JP.properties
就行了。已部署的应用,该文件直接放classes目录下。项目源码的话,直接放src目录下。
classpath中根目录位置是指哪里?哪个classpath?系统里,清单里也有,不知道运行-jar命令的时候调用的哪个classpath
方法一:在eclipse里,右键project,选properties,打开java build path,libraties页面,点击add class foader,把配置文件所在的目录添加进来即可;
方法二:直接修改.classpath文件,在<classpath>节点下增加一行:
<classpathentry kind="lib" path="config"/>
原来你是桌面应用。比方说jar包中META-INF中MANIFEST.MF文件中写有
Class-Path: .
的话,则将jdbc_ja_JP.properties和jar包放一起就行了。
Class-Path: kibatch.jar lib/commons-logging-1.1.1.jar lib/junit-4.6.jar lib/KiBatBase.jar lib/log4j-1.2.15.jar lib/ojdbc14.jar jdbc.properties 这个是META-INF中MANIFEST.MF中的配置,不管jdbc.properties放在哪(同目录或者lib文件夹)都是提示这个错误
打包之后的jar应该和Eclipse中的配置没什么关系了吧,.classpath没有被打包到jar中,包中只有生成的class文件
你就不会将.加到Class-Path中?
Class-Path: . kibatch.jar lib/commons-logging-1.1.1.jar(后面略)