java - jar 文件将不会运行。在cmd中获取错误

标签 java eclipse jar compilation cmd

我无法运行我的 jar 文件,因此我在 cmd 中执行了“java -Xmx1024m -jar test.jar”,但出现了很多错误。

我在路径中设置了图像资源和 jar 库。不过它在 eclipse 中工作得很好。任何帮助都会很棒。谢谢。

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at ImagePanel.<init>(FinalRevNoise.java:117)
        at FinalRevNoise.createAndShowGUI(FinalRevNoise.java:53)
        at FinalRevNoise.access$0(FinalRevNoise.java:48)
        at FinalRevNoise$1.run(FinalRevNoise.java:42)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$200(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

这里是我定义 spries 和sheets的地方

BufferedImage bigImg; //sprite sheets
BufferedImage bigImg2;
BufferedImage bigImg3;

BufferedImage[] sprites; //individual sprites
BufferedImage[] sprites2;
BufferedImage[] sprites3; 

代码117左右

public ImagePanel(){
         try {

             bigImg = ImageIO.read(new File("res/sheet.png")); //sprite sheet paths
             bigImg2 = ImageIO.read(new File("res/sheet2.png"));
             bigImg3 = ImageIO.read(new File("res/sheet3.png"));


         } catch (IOException e) {
         }

         final int width = 20; //sprite width/height = 20 pixels
         final int height = 20;
         final int rows = 6; // 6 rows and 5 collums
         final int cols = 5;
         sprites = new BufferedImage[rows * cols]; //sets up the sprite arrays
         sprites2 = new BufferedImage[rows * cols];
         sprites3 = new BufferedImage[rows * cols];

         for (int i = 0; i < rows; i++) //goes through sprite sheet and puts sprites into an array
         {
             for (int j = 0; j < cols; j++)
             {
                 sprites[(i * cols) + j] = bigImg.getSubimage( //this is line 117
                     j * width,
                     i * height,
                     width,
                     height
                 );
             }
         }
}

最佳答案

第 117 行:

sprites[(i * cols) + j] = bigImg.getSubimage(

由于您在这里得到 NullPointerException,要么 sprites 为 null,要么 bigImg 为 null。 sprites 不能为空,因为您刚刚将其设置为新数组。因此bigImg为空。

为什么bigImg为空?因为

ImageIO.read(new File("res/sheet.png"))

抛出 IOException。

关于java - jar 文件将不会运行。在cmd中获取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20206777/

相关文章:

java - Eclipse 中的 Felix FileInstall 配置

eclipse - Eclipse+Pydev 中转到定义的[快捷方式/其他方式]是什么

android - 为什么当我的应用程序与 "Setting airplane_mode_on has moved from android.provider.Settings.System [...]"无关时我将 0x104567910 放入 logcat?

java - 如何运行 selenium-server-standalone?

java - 无法使用 jclouds API 将文件上传到 azure blob

Java二分查找树方法需要返回值而不是打印

java - 在ant中引用外部.jar库来构建Android java jar

java - 在 JAR 中强制系统属性

java - 找不到除 main 之外的 hadoop 类

java - 如何在单个 TextView 项中添加多个字符串值