在cmd中使用带有runnable jar的文件

时间:2014-05-01 09:22:08

标签: java file cmd resources

我正在处理不属于我的代码,我希望能够使用cmd在其他计算机上运行它。 在日食上我们使用这个

MazeWritable maze = new MazeWritable("layouts/mediumClassic.lay");

引用布局,如果我通过不同的调用,它会像这样:

public MazeWritable(String filename) throws MazeException
{
super(filename);
}

然后超级去

public Maze(String filename) throws MazeException
{
    try{
        System.out.println("Layout file is "+filename);
        //Lecture du fichier pour déterminer la taille du maze
        InputStream ips=new FileInputStream(filename); 
        InputStreamReader ipsr=new InputStreamReader(ips);
        BufferedReader br=new BufferedReader(ipsr);

当我尝试使用eclipse制作我的项目的可运行jar时,它不包含文件布局/,它在项目旁边的引用库中,即使我尝试将其放入cmd中它不想看到它,有什么我错过了吗? 我尝试使用清单,但它不起作用(我不确定我在做什么)。

谢谢

1 个答案:

答案 0 :(得分:0)

您有两种选择:

1

layouts文件夹放在JAR文件的根目录中,并尝试将其作为资源加载:

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("layouts/mediumClassic.lay");

2

layouts文件夹放在JAR文件之外,并像加载资源一样加载资源。

我更喜欢第二个版本,但是如果你想将所有东西打包在一起,你应该选择第一个版本。