2017-06-02 85 views
0

我目前正在开发一个小型应用程序,该程序可以读取和写入销售报告窗体的excel文件。这一切都很好,阅读和写作完美。我遇到的问题是,这需要导出为可执行文件.jar以便从其他计算机的桌面运行。导出.jar很简单,但是当运行在不同的计算机上时,只要我的某个类(即“ExcelReader.java”)在使用Apache POI的代码中达到某个点,该类就会崩溃,但不会崩溃整个代码,因为Main类(“Launcher”)仍然会在其主要方法中移动并执行另一个类,并且在达到Apache POI的使用时仍会崩溃类。任何帮助将不胜感激,并帮助更深入地理解这个问题。这是我的启动类的截图。它将达到给我第一个JOptionPane,然后不给我任何我在读者中的JOP。但是,它将继续在启动第二JOP,并给我写的JOP的,直到Apache的POI第一行代码:This is a screenshot of my launcher class. It will reach give me the first JOptionPane, then no give me any of the JOP's I have in reader. However, it will proceed to the second JOP in Launcher and give me writer's JOP's UP UNTIL the first line of Apache POI code导出的.jar上的Apache POI未在另一台计算机上运行

Do the export boxes need to be highlighted for it to export with the jar file???

+2

任何堆栈跟踪或错误消息? – 2017-06-02 12:29:46

+0

@RC。因为我通过另一台计算机上的可执行文件运行它,所以我必须关闭所显示的消息。但是,它在我编码的计算机上正常工作。 – spaff

回答

3

如果我猜,这是被抛出ClassNotFound的异常。根据您打包jar的方式,它可能包含或不包含Apache POI作为依赖项。

Maven创建一个超级jar,打开所有jar并将它们合并在一起创建一个包含所有类的jar。您可以查看您要导出所需类的jar的内部。

这是一个SO问题详述how to create a single executable jar。除了检查要导出的库之外,可能还有几个步骤。

+0

检查我的编辑与新的照片。如果这是问题的话,我可能只是愚弄自己而不知道。 – spaff

相关问题