【问题标题】:Jar File Missing File PathJar 文件缺少文件路径
【发布时间】:2014-06-19 14:42:25
【问题描述】:

当我的 ide 打开时一切正常,但是当我构建我的项目时,它不能作为 jar 文件工作。我想问题出在我的资源路径上,我找不到任何方法来处理这个问题,如果您有任何解决方案,请帮助我。

public void playSound(String filename){

        String strFilename = filename;

        try {
            ClassLoader classLoader = getClass().getClassLoader();
            soundFile = new File(classLoader.getResource(strFilename).getFile());
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }

【问题讨论】:

  • 请显示 StackTrace
  • [Ljava.lang.StackTraceElement:@2b5a780
  • @user3704324 这不是堆栈跟踪。看到e.printStackTrace(); 行了吗?请编辑您的问题以包含该行的输出。

标签: java filepath


【解决方案1】:

您不能将 jar 中的资源作为文件来寻址。在您的 IDE 中,它可能是文件系统中的文件,而不是 jar 中的资源。您需要能够以 URL 和/或 InputStream 的形式读取内容。

【讨论】:

  • 但是当我构建我的项目时,Jar 文件将我的 .wav 资源保存在自身内部,那么我该如何调整路径呢?
  • “文件名”参数必须与您的类路径相关(即它在您的 jar 中的位置)。如果您使用的是标准的 maven 项目结构,它将与 /src/main/resources 相关。代码的 classLoader.getResource 部分很好。当您尝试将该资源转换为文件时,您就会遇到问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 2012-03-23
  • 1970-01-01
  • 1970-01-01
  • 2016-02-06
相关资源
最近更新 更多