Java 代码是「;“部分崩溃”;尝试创建HSSF工作簿时

Java 代码是「;“部分崩溃”;尝试创建HSSF工作簿时,java,jar,dependencies,apache-poi,executable,Java,Jar,Dependencies,Apache Poi,Executable,我将尽可能详细地描述这个问题,因为我需要帮助来解决这个问题,这是我项目的最后一步。我已经非常接近于完成一个桌面应用程序的开发,我已经为工业应用做了准备。该应用程序读取输入的.xls文件,并使用其中的数据填充空表单。在我的台式计算机上,这个程序是完美的,可以从桌面图标正常工作(作为可执行.jar文件的快捷方式运行)。下面是.jar中的主类 import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import javax

我将尽可能详细地描述这个问题,因为我需要帮助来解决这个问题,这是我项目的最后一步。我已经非常接近于完成一个桌面应用程序的开发,我已经为工业应用做了准备。该应用程序读取输入的.xls文件,并使用其中的数据填充空表单。在我的台式计算机上,这个程序是完美的,可以从桌面图标正常工作(作为可执行.jar文件的快捷方式运行)。下面是.jar中的主类

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import javax.swing.*;
import java.io.IOException;

public class Launcher {

    public static void main(String[] args) throws IOException, InvalidFormatException {
        ExcelReader reader = new ExcelReader();
        JOptionPane.showMessageDialog(null, "starting reader");
        reader.main(args);
        JOptionPane.showMessageDialog(null, "starting writer");
        ExcelWriter writer = new ExcelWriter(reader);
        writer.main(args);
    }
}
但是,当在另一台计算机上运行同一个.jar文件时,它会到达读取器中的某个点,将所选文件转换为InputStream,然后将其转换为HSSF工作簿。我让JOptionPanes在我的阅读器中显示代码的进度,它会一直显示到创建工作簿的那一行

public static void main(String[] args) throws IOException, InvalidFormatException {
    final JFileChooser chooser = new JFileChooser();
    JFrame frame = new JFrame();
    int result = chooser.showOpenDialog(frame);

    if (result == JFileChooser.APPROVE_OPTION) {
        file = new File(chooser.getSelectedFile().getAbsolutePath());
        System.out.println("File Selected for Input: " + file.getAbsolutePath());
        JOptionPane.showMessageDialog(null, "File chosen : " + file.getAbsolutePath());
    }
    JOptionPane.showMessageDialog(null, "File has been selected");
    //Desktop desktop = Desktop.getDesktop();
    //desktop.open(file);
    try {
        JOptionPane.showMessageDialog(null, "Making inputstream");
        InputStream excelFile = new FileInputStream(file);
        JOptionPane.showMessageDialog(null, "making workbook with " + excelFile.toString());
        HSSFWorkbook workbook = new HSSFWorkbook(excelFile);
        JOptionPane.showMessageDialog(null, "making sheet");
        Sheet sheet = workbook.getSheetAt(0);
        JOptionPane.showMessageDialog(null, "sheet made 8)");

一旦我能弄清楚为什么在不同的计算机上运行它会导致问题,我就可以很容易地完成我的应用程序。我正在使用ApachePOI文档将附加我的文件路径。非常感谢您的帮助。我怀疑问题可能出在我的.jar结构上,但我也找不到任何问题。我已经附加了我的Jar结构。我非常乐意附上、讨论或包含所需问题的信息。非常渴望完成这件事

您收到了什么错误消息?有堆栈跟踪吗?@RomanPuchkovskiy我只是在使用可执行jar时才接收到错误。有没有办法从中接收堆栈跟踪?