gpt4 book ai didi

java - 可运行 Jar 文件中没有此类文件异常

转载 作者:行者123 更新时间:2023-12-01 09:24:05 25 4
gpt4 key购买 nike

我正在尝试创建一个可运行的 jar 文件。我的项目包括 models.txt 文件。我的项目在 Eclipse 中完美运行,没有错误,但是当导出到可运行的 jar 文件时,它不起作用。我特此附上错误和调用该文件的代码段。

public static HashMap<String, RenderModel>  getModelList(String file) throws IOException {
List<String> data;
HashMap<String, RenderModel> namesToModels = new HashMap<String, RenderModel>();

if (file != null) {
data = Files.readAllLines(Paths.get(file), StandardCharsets.UTF_8);
} else {
String path = "models/models.txt";
data = Files.readAllLines(Paths.get(path), StandardCharsets.UTF_8);
}

Iterator<String> dataIterator = data.iterator();
while (dataIterator.hasNext()) {
String dataLine = dataIterator.next();
System.out.println(dataLine);
String[] line = dataLine.split("; ");
String key = line[0];
String valueObj = line[1];
String valueMtl = line[2];
float scale = Float.parseFloat((String) line[3]);
RenderModel v = new RenderModel(valueObj, valueMtl, scale);
namesToModels.put(key, v);
}
RenderModel v = new RenderModel("custom", "custom", 1.0f);
namesToModels.put("Choose Model from file", v);
return namesToModels;
}

错误图像:

Error Image

最佳答案

如果文件位于 Jar 中并且您无法读取它们,请尝试通过执行以下操作来访问文件:

getClass().getClassLoader().getResource(fileName);

使用它来代替静态方法:

ClassName.class.getClassLoader().getResource(fileName);

其中 fileName 是文件的名称,ClassName 是调用该语句的类的名称。

关于java - 可运行 Jar 文件中没有此类文件异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com