【发布时间】:2015-03-09 17:55:48
【问题描述】:
我是 Java 新手,希望您能帮助我。我正在尝试为我的程序创建一个 jar,但它不起作用。我可以导出并创建一个 jar 文件,但是当我点击它时,只会出现一个空白窗口。
Java 有一个 GUI,我使用 5 个不同的按钮来执行不同的功能。其中一个按钮是启动一个 exe 文件并使用套接字与 exe 程序对话(java 是服务器,c++ 是客户端)。我已将 EXE 文件放入 bin 中。它在日食中工作正常。在整个 java 中,我使用Button.class.getResource 来查找不同文件的路径。在某些情况下,我必须读取图像文件并使用此功能
image = ImageIO.read(file);(我在调用exe的类中使用这个函数)
以前,当我没有将它与 C++ 程序链接时,我能够成功地创建一个 jar 文件并运行它。但是我现在不能这样做,有什么帮助吗?
**编辑:从 CMD 运行时,这是错误:
enter code hereC:>java -jar simplediptool.jar 线程“main”中的异常 java.lang.reflect.InvocationTargetException 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源) 在 org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)原因:java.lang.NullPointerException 在 javax.swing.ImageIcon.(未知来源) 在 com.simplediptool.ScanButton.(ScanButton.java:33) 在 com.simplediptool.myMainFrame.buildWindow(myMainFrame.java:69) 在 com.simplediptool.SimpleDiptool.main(SimpleDiptool.java:19)
line 32:java.net.URL imageURL = ScanButton.class
.getResource("images/scan_icon.gif");
line 33: ImageIcon icon = new ImageIcon(imageURL);
line 69:ScanButton scanButton = new ScanButton();
line 19:mainFrame.buildWindow();
simplediptool 具有主要功能。它从类 mainframe 调用方法构建窗口,在其中创建了 scanbutton obj。
【问题讨论】:
-
空白窗口意味着初始化失败并且 Java(JVM 或 Java 运行时)在标准输出(控制台)上产生崩溃消息。您需要捕获此信息并在此处提交以供分析。使用命令行调用从
cmd窗口运行它。 -
很抱歉遗漏了此信息。请检查编辑
-
请包含所有相关的
jar tf <jarfile>输出 -
还包括 CLASSPATH:
C:> echo %CLASSPATH%