Java程序在Eclipse中运行良好,但不能作为.jar文件运行

时间:2014-04-18 05:22:02

标签: java eclipse executable-jar

我的.jar文件存在问题。它在Eclipse中运行良好,但是一旦我导出它,它就不会打开。我检查了清单文件,看起来没问题。

我已尝试将其导出为可运行的jar,以及仅使用jar构建器。没有任何效果。

我试图在命令提示符下运行它并且它说它无法访问jar文件...我已经在这里搜索了一段时间并且还没有找到答案。

我不确定我做错了什么。我唯一能想到的是我没有正确地获取图像。

我正在为程序的精灵使用.png文件,这是我如何为我的程序获取它们的一个例子。

此代码从.png文件开始构建级别。

public class SpawnLevel extends Level{

public SpawnLevel(String path) {
    super(path);
}

protected void loadLevel(String path){
    try{
        System.out.println("classpath is: " + System.getProperty("java.class.path"));
        BufferedImage image = ImageIO.read(SpawnLevel.class.getResource(path));
        int w = width = image.getWidth();
        int h = height= image.getHeight();
        tiles = new int[w*h];
        image.getRGB(0,0,w,h,tiles,0,w);
    }catch(IOException e){
        e.printStackTrace();
        System.out.println("EXEPTION FOUND!!!  Could not load the level file!");
    }
}

protected void generateLevel(){
    System.out.println("Tiles: " + tiles[0]);
}

}

我之前为另一个程序制作了另一个.jar并且没有问题。任何帮助将不胜感激。

如果有帮助,我使用此代码显示资源文件夹路径信息。

System.out.println("classpath is: " + System.getProperty("java.class.path"));

以下是我的资源文件夹的当前路径。在我从eclipse中导出之前。

    classpath is: C:\Users\name\workspace\Rpg_Game\bin;C:\Users\name\workspace\Rpg_Game\res

导出到.jar后

    classpath is: 2ndGameTest.jar

1 个答案:

答案 0 :(得分:1)

如果您的图片位于resources的{​​{1}}包裹中,那么src应使用的路径就像

getResource()

使用测试程序

更新

class.getResource("/resources/levels/level1.png")