【问题标题】:Cannot find my data folder when I export my project as jar [duplicate]将项目导出为 jar 时找不到我的数据文件夹 [重复]
【发布时间】:2015-12-03 03:25:08
【问题描述】:

我尝试将我的 eclipse java 项目导出为可运行的 jar 文件。在我的主要功能中,我必须从项目中的数据文件夹中读取数据文件,如下所示:

List<Data> trainDataSet = readDataFile("data/BTrain.arff");

我将我的数据文件夹构建为源文件夹。但是当我运行 java -jar myproject.jar 它给了我这个错误:

File not found: data/ATrain.arff
Exception in thread "main" java.lang.NullPointerException
    at java.io.StreamTokenizer.<init>(StreamTokenizer.java:248)
    at weka.core.converters.ArffLoader$ArffReader.<init>(ArffLoader.java:135)
    at weka.core.Instances.<init>(Instances.java:126)
    at project4.Project4.readDataFile(Project4.java:29)
    at project4.Project4.testPrimalPerceptron(Project4.java:51)
    at project4.Project4.main(Project4.java:145)

但是当我在 Eclipse 中将项目作为 java 应用程序运行时效果很好

这是我项目的结构,

有什么想法吗?谢谢!

【问题讨论】:

标签: java eclipse jar


【解决方案1】:

将您的 jar 视为一个 zip 存档(它实际上是一个 zip 存档,尝试使用 7zip 打开它!)当您从 eclipse 导出项目时,您可以将任何文件和文件夹放入其中。

完成后,您可以使用

从您的 Jar 中加载资源
private static final String DATA_BTRAIN_ARFF = "data/BTrain.arff";
....
InputStream inputStream  = getClass().getClassLoader().getResourceAsStream(DATA_BTRAIN_ARFF);
.....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    相关资源
    最近更新 更多