最近,我尝试在Eclipse的JavaFx Maven项目中使用添加图片到标签。如果我在Eclipse中运行应用程序,一切正常,不会发生错误。
这篇文章不同于“为什么相对路径在JAR文件中的JAVA中不起作用?”邮递我尝试了这篇文章的解决方案,但对我来说不起作用。我在下面描述了这一点。
如果我从Linux终端运行应用程序,比如java-jarmyapplication。jar
发生以下错误:
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$412(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.FileNotFoundException: src/pictures/forms_logo_2_1.png (Datei oder Verzeichnis nicht gefunden)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at de.elastic.client.Main.pane1(Main.java:193)
at de.elastic.client.Main.start(Main.java:259)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$419(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$399(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$397(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$398(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$203(GtkApplication.java:139)
... 1 more
Exception running application de.elastic.client.Main
我在导入图片文件时定位了错误。对于导入,我使用了以下代码:
FileInputStream input = new FileInputStream("path/picture.png");
Image image = new Image(input);
Label img1 = new Label();
img1.setGraphic(new ImageView(image));
我还试图直接给图像类图像图像=新的图像(图像乌尔);。这在以前的项目中对我有效。
我还尝试了Image Image=newimage(getClass()。getResourceAsStream(imageUrl))
但是eclipse在这里抛出错误
无法从类型对象对非静态方法getClass()进行静态引用。
关于这一点,我还尝试了
imageimage=newimage(Main.class.getResource(imageUrl))。toExternalForm()
。对我来说,它只能以这种方式执行,没有错误。
更新:我也试过这个:
ClassLoader classLoader1 = Main.class.getClassLoader();
String ImgUrl1 = classLoader1.getResource("path/picture.png").toExternalForm();
Image image = new Image(ImgUrl1);
Label img1 = new Label();
img1.setGraphic(new ImageView(image));
它抛出与上述相同的错误。
更新:好的,看来可执行JAR文件不匹配,无法找到图片和其他数据本身。例如,图片位于图片文件夹中,而应用程序在图片文件夹中找不到它。所以这是一个参考问题。因为我把它转换成了maven项目也许结构不对。我将尝试创建一个新的maven项目,并将结果发布在这里。
因为这些都是我发现的将图片导入标签的常用方法,所以我有点沮丧。我希望有人能解决这个小问题。干杯
标题说明了一切: null 编辑:工作示例要简单得多(多亏了@T.S.): 谢谢!
我在使用FFmpeg进行acc编码时遇到问题。我有带aac音频的au mp4文件。我试图用ffmpeg复制音频。在源mp4文件中,第一个音频噪声出现在0.30秒。转换后使用,生成的文件错误,第一个音频噪音出现在0.32秒。文件的持续时间也不一样。 当我强制编码器libfaac,它的工作,但文件太大。 那么,为什么使用默认编码器(aac、libfdk_aac)时它不工作呢?请注意,当我从audaci
我正在使用OCRA将我的rb文件转换为exe文件。脚本运行正常,它还创建了一个exe文件。但是,当我将exe文件发送给一个用户运行(在他的系统中没有安装ruby)时,他会在exe运行之间遇到以下错误…Windows找不到Rubyw。请确保键入的名称正确,然后再试一次。要搜索文件,请单击开始按钮,然后单击搜索。.. 以前有人面对过这个问题吗? 谢谢
问题内容: 我有一个.mwb格式的数据库。我想在日食中使用它,所以我需要将其转换为.sql格式。如果有人知道如何使用任何工具来做到这一点。我认为我的sql工作台可以做到这一点,但不知道该怎么做。 问题答案: 在菜单中单击“数据库”,然后单击“正向工程”(快捷键CTRL + G)。 更新: 您的.mwb文件是专有格式,还包含Workbench中图形表示的信息。生成的.sql文件是一个脚本,您的MyS
我用APKTool反向设计了一个Android应用程序,得到了一个。Smali文件作为源代码输出。我转换了。Smali文件和应用程序。Java文件。我成功地编辑了。Java文件,但现在我想把它们转换回。这样我就可以用新的重新编译应用程序了。Smali文件。当我离开的时候。Java文件,它没有重新编译,并给出了一些错误。我找不到任何关于编译的信息。Java到。所以我希望你们能帮我。 提前谢谢你。