簡體   English   中英

運行.jar文件時出錯

[英]Error in running .jar file

我創建了Java游戲的.jar文件。 該程序在Java編譯器上運行良好,但是當我嘗試運行.jar文件時,沒有顯示任何結果。 我再次使用CMD運行它:

java -jar PokemonGame.jar`

...給我一個錯誤:

Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.(init)(ImageIcon.java:167)
at MainFile.(init)(MainFile.java:25)
at MainFile.main(MainFile.java:86)

我跟蹤了評論的行號:

public class MainFile extends JPanel implements MouseListener{
    MainFile m;
    static JFrame mainWindow = new JFrame("POKEMON MEMORY GAME");
    static TimerFile timerPanel;
    static GridFile gridPanel;
    static LogsFile logsPanel;
    static ButtonMenuFile buttonMenuPanel;
    JPanel blockPanel;
    URL url;
    BufferedImage winlose;
    JPanel winlosePanel;
    //MainFile line 25
    ImageIcon gameBackground = new ImageIcon(getClass().getResource("Assets\\Pokedex.png"));
    Image gameImage = gameBackground.getImage();
    GameSoundFile gameSound = new GameSoundFile();
    GameSoundFile screenSound = new GameSoundFile();

    //...some codes here

    public static void main(String[] args) {    
        //MainFile line 86
        MainFile mainPanel = new MainFile();
        mainPanel.setMainPanel(mainPanel);          

        mainWindow.add(mainPanel);
        mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        mainWindow.pack();
        mainWindow.setLocationRelativeTo(null);
        mainWindow.setResizable(false);
        mainWindow.setVisible(true);

    }

    public MainFile(){
        //...MainFile codes here
    }
}

誰能在這里告訴我這個缺陷,因為該程序能夠使用Java編譯器運行但在.jar execuatble文件上卻無法運行,這似乎是一種奇怪的行為。

Pokedex.png到頂層的jar中:

jar uf PokemonGame.jar Pokedex.png

並像這樣引用它:

getClass().getResource("/Pokedex.png")

在JAR文件中,Windows目錄分隔符不存在。 使用/分隔您的目錄,並假設文件在那里,將找到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM