0

我有一些 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设置技巧可以使这项工作?

编辑1:

我像这样启动我的程序:

java启动程序

4

1 回答 1

0

为了简短起见,我刚刚添加了“-cp”JVM 选项。我的问题是我需要将根目录(我的 jar 和资源所在的位置)添加到我的类路径中。以前我刚刚添加了带有 * 通配符的罐子。

java -cp PATH_ROOT_DIR/;PATH_TO_ROOT_DIR/*;PATH_TO_ROOT_DIR/ext/* StartProgram

或者你可以设置类路径

set CLASSPATH=./;./ext/*;./*
于 2012-10-04T18:18:51.993 回答