我有一些需要在启动时读取文件的jar文件。这些文件位于jar文件旁边的目录中。这是我的目录列表的样子:
code.jar
config/
confifile.cfg
然后,在命令行提示符下,我将类路径设置为:
set CLASSPATH=./ext/*;./*
然后我运行该程序,但它一直抱怨它找不到“configfile.cfg”。
找不到/config/configfile.cfg文件!
此错误来自此代码:
try {
r = new BufferedReader(new FileReader((String)botinfilename));
fileName=(String)botinfilename;
}
catch (FileNotFoundException e) {
System.err.println(botinfilename + " is not found");
}
如果我将/ config目录放在jar文件中,我注意到它有效。但是,如果我将其删除并将其放在jar旁边,它就找不到配置文件。
是否有一些java设置技巧可以使其工作?
我按这样启动我的程序:
java StartProgram
答案 0 :(得分:0)
为了简短起见,我刚刚添加了“-cp”JVM选项。我的问题是我需要将根目录(我的jar和资源所在的位置)添加到我的类路径中。以前我刚刚用*通配符添加了罐子。
java -cp PATH_ROOT_DIR/;PATH_TO_ROOT_DIR/*;PATH_TO_ROOT_DIR/ext/* StartProgram
或者您可以设置类路径
set CLASSPATH=./;./ext/*;./*