【问题标题】:using files with runnable jars in cmd在 cmd 中使用带有可运行 jar 的文件
【发布时间】:2014-05-01 09:22:07
【问题描述】:

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

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 时,它不包括文件 layouts/,它在项目中位于引用的库旁边,即使我尝试将其放入 cmd它不想看到它,我错过了什么吗? 我尝试使用清单,但它不起作用(而且我不确定我在做什么)。

谢谢

【问题讨论】:

    标签: java file cmd resources


    【解决方案1】:

    你有两个选择:

    1

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

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

    2

    layouts 文件夹放在您的JAR 文件之外,并像您之前那样加载资源。

    我更喜欢第二个版本,但如果您想将所有内容打包在一起,您应该使用第一个版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2014-02-10
      • 1970-01-01
      • 2010-12-03
      • 2018-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多