【问题标题】:Problems creating a jar file using eclipse使用eclipse创建jar文件的问题
【发布时间】: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%

标签: java c++ jar


【解决方案1】:

您在调用getResource 时使用了相对路径。看看这个是如何解释的:

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource(java.lang.String)

编辑:鉴于您在下面的评论,问题尚未确定。我暂时将其作为部分答案。

【讨论】:

  • 我使用了 java.net.URL imageURL = ScanButton.class .getResource("/images/scan_icon.gif");还是不行。
  • 如果我删除所有使用 ImageIcon 的实例,我可以创建一个可运行的 jar 文件。包含图像的文件夹(图像)与类在同一个包中。
【解决方案2】:

我发现了我的错误。包含所有图像的图像文件夹不在项目的 src 中。因此,在创建 jar 文件时,该信息不可用。由于扫描按钮没有针对这种情况进行异常处理,因此它给出了错误。

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-23
    • 2013-08-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 2013-06-22
    相关资源
    最近更新 更多