当前位置: 首页 > 知识库问答 >
问题:

java项目在eclipse中运行,但在jar文件中不正确

贺浩漫
2023-03-14

我面临着奇怪的问题。当我在eclipse中运行我的项目时,一切都很好。当我将项目导出到可执行的jar文件并运行它时,它只加载普通的JFrame。

我应该如何发现问题?我不知道会出什么问题。我认为问题可能在这里,但不知道:

try {
    URL url = getClass().getClassLoader().getResource("maps/"+ level +".txt");
    File file = new File(url.getFile());
    fr = new FileReader(file);
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
    in = new BufferedReader(fr);

共有2个答案

公冶鸣
2023-03-14

尝试使用以下解决方案,系统。getProperty()将为您提供当前目录路径:

-代码段:

InputStream input = null;
try{
    String dirPath = System.getProperty("user.dir");
    String completePath= dirPath+fileName;
    input = this.getClass().getClassLoader().getResourceAsStream(completePath);
}catch(IOException ioex){
e.printStackTrace();
}
赵越
2023-03-14

您阅读资源的方式不正确。尝试使用以下方法:

    BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/maps/1.txt")));
    br.readLine();
 类似资料:
  • 我在尝试导出独立应用程序时遇到问题。 当我使用eclise执行它时,它运行正常,但当我试图导出到可运行的jar时,它会给我一些错误。 我的坚持。xml看起来像 它位于src/META-INF/persistence。xml 从终端运行时得到的堆栈跟踪是: 在爪哇。朗,反思一下。方法在组织中调用(未知源)。日食jdt。内部的jarinjarloader。罐式装载机。main(jarsrcloader

  • 我有一个程序,必须从终端界面播放声音。 代码相当简单,如下所示: 该文件位于“我的源路径”中的“音乐”文件夹中。 当我在eclipse中运行程序时,所有工作都非常好。但是如果我将其导出到. jar文件中并在windows cmd中尝试它,我会收到这条消息 [编辑]音频文件确实已打包到中。jar,但它仍然不起作用。 是否有可能播放来自windows提示符的声音?如果没有,是否有这样的声音? 谢谢Si

  • 我有一个在eclipse和cmd提示符中运行良好的Jar。当我尝试在Unix中执行相同的程序时,它没有执行。

  • 问题内容: 我一直在寻找这个问题的解决方案,今天已经花费了多个小时,而昨天已经花费了许多个小时,所以我决定在这里解决,尽管这似乎是一个愚蠢的问题。 情况:我在Eclipse Java EE中设置了Google AppEngine项目。在这里已经有好几个星期了,一切运行正常,我可以部署到App Engine并在Eclipse中进行测试,而不会出现问题。 现在,我需要添加用于fe JSON支持和Goo

  • 我在将java文件导出到可运行的jar文件时遇到了问题。在eclipse中,它工作得很好,但是当我导出它时,它就不工作了。 我已经尝试过(java-jar myjar.jar)获取日志,但它说“无法访问jar文件” 因为当我将它放在注释中时,当我导出时,它运行,但没有映像。 我也尝试过这样的方法:,但它也不起作用。我做错了什么?如何导出JLabel上带有图像的可运行jar文件? (这是我的JLab

  • 我正在尝试为Java项目学习eclipse。我使用初始化器(https://start.Spring.io/)使用Spring Web的依赖项设置Spring Boot。我试图在eclipse中构建我的项目,并得到以下错误 有什么想法吗?