java.io.IOException: rsrc:application/application.bss 错误的二进制 CSS 版本: 5。预期版本小于或等于3
java.io.IOException: rsrc:application/application.bss wrong binary CSS version: 5. Expected version less than or equal to3
我使用 javafx 创建了一个示例应用程序。由于网络限制,无法安装e(fx)clipse等fxpackaging工具
我使用eclipse(版本4.5.1)创建了jar
当我在 cmd
中使用以下命令执行 jar 文件时,应用程序运行良好
java -jar myjarfile.jar
问题 1:(已解决)
我在 'command prompt'
中观察到这个异常
java.net.MalformedURLException: Coult not open InputStream for URL
'rsrc:application/application.bss'
我已经使用以下命令创建了 bss 文件(在项目根级别执行)
javafxpackager -createbss -srcfiles application.css -outdir .
然后将输出的 bss 文件复制到适当的位置(程序除外资源位于特定文件夹)。
问题 2:(未解决)
初始异常已解决,我可以看到字体按预期显示。但是在后台我可以看到下面的异常
java.io.IOException: rsrc:application/application.bss wrong binary CSS
version: 5. Expected version less than or equal to3
问题:
如何修复此 'wrong binary CSS version' 异常(显示在命令提示符中)?
请注意,我没有看到应用程序有任何问题,前景是 运行。
出于测试目的,我在 application.css 文件中使用了单行样式代码
.label{-fx-text-fill: black;}
→ 使用 eclipse (JDK 1.7) 和 windows 创建的 jar 文件在 JRE 1.7 上是 运行。0_91
css 文件 : 上面提到的一个衬垫
bss文件
包结构
根据 José Pereda 和 Abob78 的评论,我做了一个实验。我已经弄清楚了,如果我使用 JRE 1.8
,则不会观察到该问题
- 命令提示符 1 : 指向 JRE 1.7。0_91 → 观察到以上异常
- 命令提示符 2: 指向 JRE 1.8。0_40 → 异常 未观察到。
两者 运行 同时使用相同的 JAR 文件。
正如 José Pereda 所说,bss 是 Java 8 上的第 5 版。根据标签的 JavaFX 8 CSS Reference Guide,语法是正确的。但是,这是针对 Java 8,而您当前正在使用 Java 7。如果您有 Java 8,请配置 eclipse 并设置构建路径以使用它并设置您的 PATH
变量相应地 Java 8.
如果问题仍然存在:
如果它在更新后仍无法正常工作,我们将尝试以稍微不同的方式编译它,看看会发生什么。根据 this post,一旦编译了 .bss
文件,就不需要 .css
文件。
在易于访问的位置创建一个 Test
文件夹。我们将使用它来查看单独编译的文件将如何影响异常,因为此时更新 Java 没有做任何事情。
首先,尝试运行 包含基本文件的程序。如果您的 Main.java
文件不依赖于项目中的其他 java 文件,则将该文件复制到我们最近创建的 test
文件夹中。如果没有,只复制使用css
的必要部分(例如调用css file
的场景和标签),然后将其粘贴到新的Main.java
中的新[=18] =]文件夹。
继续前进,您将不得不在测试文件夹中打开一个命令 window。您可以通过在 Windows Explorer 的 test
文件夹中按 SHIFT + RIGHT CLICK 并单击 Open command window here
来完成此操作
在此之后,通过在新打开的命令提示符 window:
中键入以下内容来编译 Main.java
javac Main.java
接下来,复制 appication.css
但将其重命名为 Main.css
,以供测试。然后,运行 在命令提示符 window 中执行此操作(您没有 -outfile
论据;这应该无关紧要,但这是一项轻微的安全措施):
javafxpackager -createbss -srcfiles Main.css -outdir . -outfile Main
现在你应该看到你有 Main.css
。现在,使用相同的命令 window 您可以轻松地 运行 文件并查看会发生什么。
java Main
如果这对您有帮助,请发表评论,如果这个答案对您有帮助,您实际使用了这个答案的哪一部分来解决问题,谢谢!
我使用 javafx 创建了一个示例应用程序。由于网络限制,无法安装e(fx)clipse等fxpackaging工具
我使用eclipse(版本4.5.1)创建了jar 当我在 cmd
中使用以下命令执行 jar 文件时,应用程序运行良好java -jar myjarfile.jar
问题 1:(已解决)
我在 'command prompt'
中观察到这个异常java.net.MalformedURLException: Coult not open InputStream for URL
'rsrc:application/application.bss'
我已经使用以下命令创建了 bss 文件(在项目根级别执行)
javafxpackager -createbss -srcfiles application.css -outdir .
然后将输出的 bss 文件复制到适当的位置(程序除外资源位于特定文件夹)。
问题 2:(未解决)
初始异常已解决,我可以看到字体按预期显示。但是在后台我可以看到下面的异常
java.io.IOException: rsrc:application/application.bss wrong binary CSS version: 5. Expected version less than or equal to3
问题:
如何修复此 'wrong binary CSS version' 异常(显示在命令提示符中)? 请注意,我没有看到应用程序有任何问题,前景是 运行。
出于测试目的,我在 application.css 文件中使用了单行样式代码
.label{-fx-text-fill: black;}
→ 使用 eclipse (JDK 1.7) 和 windows 创建的 jar 文件在 JRE 1.7 上是 运行。0_91
css 文件 : 上面提到的一个衬垫
bss文件
包结构
根据 José Pereda 和 Abob78 的评论,我做了一个实验。我已经弄清楚了,如果我使用 JRE 1.8
,则不会观察到该问题- 命令提示符 1 : 指向 JRE 1.7。0_91 → 观察到以上异常
- 命令提示符 2: 指向 JRE 1.8。0_40 → 异常 未观察到。
两者 运行 同时使用相同的 JAR 文件。
正如 José Pereda 所说,bss 是 Java 8 上的第 5 版。根据标签的 JavaFX 8 CSS Reference Guide,语法是正确的。但是,这是针对 Java 8,而您当前正在使用 Java 7。如果您有 Java 8,请配置 eclipse 并设置构建路径以使用它并设置您的 PATH
变量相应地 Java 8.
如果问题仍然存在:
如果它在更新后仍无法正常工作,我们将尝试以稍微不同的方式编译它,看看会发生什么。根据 this post,一旦编译了 .bss
文件,就不需要 .css
文件。
在易于访问的位置创建一个 Test
文件夹。我们将使用它来查看单独编译的文件将如何影响异常,因为此时更新 Java 没有做任何事情。
首先,尝试运行 包含基本文件的程序。如果您的 Main.java
文件不依赖于项目中的其他 java 文件,则将该文件复制到我们最近创建的 test
文件夹中。如果没有,只复制使用css
的必要部分(例如调用css file
的场景和标签),然后将其粘贴到新的Main.java
中的新[=18] =]文件夹。
继续前进,您将不得不在测试文件夹中打开一个命令 window。您可以通过在 Windows Explorer 的 test
文件夹中按 SHIFT + RIGHT CLICK 并单击 Open command window here
在此之后,通过在新打开的命令提示符 window:
中键入以下内容来编译Main.java
javac Main.java
接下来,复制 appication.css
但将其重命名为 Main.css
,以供测试。然后,运行 在命令提示符 window 中执行此操作(您没有 -outfile
论据;这应该无关紧要,但这是一项轻微的安全措施):
javafxpackager -createbss -srcfiles Main.css -outdir . -outfile Main
现在你应该看到你有 Main.css
。现在,使用相同的命令 window 您可以轻松地 运行 文件并查看会发生什么。
java Main
如果这对您有帮助,请发表评论,如果这个答案对您有帮助,您实际使用了这个答案的哪一部分来解决问题,谢谢!