代码在eclipse中编译时有效,但不能作为runnable jar编译

时间:2017-06-01 15:14:50

标签: java eclipse

有问题的代码如下......

static void load() {
        ObjectInputStream ois = null;
        try {
            ois = new ObjectInputStream(ClassLoader.getSystemClassLoader().getResourceAsStream("resources/handMap.ser"));
            if (ois == null)
                JOptionPane.showMessageDialog(null, "null file");
            handMap = (HashMap<Long, Integer>) ois.readObject();
        } catch (IOException | ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
        try {
            ois.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

它应该做的是将序列化的HashMap加载到内存中。我的文件位于程序的src文件夹下的资源文件夹中。当我通过eclipse运行它似乎没有问题。但是,当我将它作为一个可运行的jar运行时,它似乎没有正确加载文件。我已经做了一些jdialog来让我知道代码出错的地方,看起来执行永远不会超过它应该将文件加载到ObjectInputStream的部分。事情可能出错的任何想法?正如我所提到的,该程序在Eclipse中运行得非常好。

0 个答案:

没有答案