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

Java:从as JAR运行时的文件路径

华甫
2023-03-14

我有一个Java/JavaFX项目,在那里我使用样式表。

样式表中的图像将按如下方式加载:

#pane {
-fx-background-image:url('../packagename/image.jpg');
 }

当我从Eclipse或SceneBuilder编译并运行它时,它加载良好。但是,当从cmd(java-jarproject.jar)运行jar文件时,它将文件名添加到路径,将其更改为:

project.jar/packagename/image.jpg

显然没有加载它。如何获得正确的路径,或者从以某种方式jar生成的路径中省略jar?jar文件在包文件夹中,这里概述为Packagename

共有2个答案

贺立果
2023-03-14

假设“packageName”是来自jar文件根目录的路径,它显然会失败。/ 前缀将导致相对位置上升到其父目录,并在之后搜索零件/ 从该目录。

在eclipse中,父目录可能是项目目录,而在. jar文件中,它是jar文件本身,给出了您描述的结果。一个修复方法是使用源目录(在eclipse中的“构建路径”中配置)。虽然常见的结构如下:

Root (either the eclipse project folder, or the .jar file
   | src
   |   | main
   |      | java // usually here goes all the code
   |      | resources  // and here goes all the resources the code needs.

同样,上面所说的并不是使一个java项目完美的必要条件,尽管这是常见的做法。

另一个可能的修复方法是使用no/ 一点也不,尽管我对此不确定。这可能是一个错误。jar文件只能修复。

安泰平
2023-03-14

将所有图像添加到源文件夹。既然你说你正在使用Eclipse,只需右键单击你的项目-

 类似资料:
  • 当我使用相对路径时,我可以从Eclipse运行Java程序。但是,当我将其作为JAR文件运行时,该路径不再有效。在我的src/components/SettingsWindow中。我有:

  • 问题内容: 我正在尝试从Java代码执行.py文件。我将.py文件移动到Java项目的默认目录中,并使用以下代码对其进行调用: 使用变量run或整个路径或“ python file.py”,我的代码正在运行,显示消息构建成功总时间为0秒,而没有执行file.py。我这是什么问题 问题答案: 您也可以这样使用: 要么 从Java运行Python脚本

  • 问题内容: 我已经编译了一个JAR文件,并在清单中指定了Main-Class(我使用了Eclipse Export函数)。我的依赖项都在标有的目录中。在指定应将JAR文件用作类路径的同时,我似乎无法获得关于如何执行我的JAR文件的直接答案。 我试过了: 等等… 每个都给出一个错误说: 或NoClassDefFoundError指示未找到库。 我什至尝试重新制作JAR文件,并包括lib目录和内容,但

  • 问题内容: 我想运行一个名为foo的python脚本。我有绝对路径,可以说:/ Users / me / pythonscripts / 我试过跑步: 但这确实运行了python文件。 问题答案: 尝试使用更多类似… 代替。每个都是自己的过程,并且多个彼此之间没有关系… 您还应该考虑改用,因为这为您提供了较高的可配置性,例如,您可以更改执行路径上下文… 另外,请注意,Python的输出流有问题,这

  • 问题内容: 我是Java新手。我一直在使用Eclipse测试一个简单的Java类(名为NewHelloWorld),它在控制台中运行良好。当我尝试从终端执行相同的操作时,它会正确编译(创建HelloWorld.class而不给出任何错误),但是随后显示以下错误 我也试过了,但是给出相同的错误也没有用。 这些是环境变量的值: 还有其他要求吗?或者我在这里错过了什么吗?谢谢 PS:使用Ubuntu 1