Krz*_*iek 5 java locale javafx packager
我在运行简单的JavaFX应用程序时遇到问题.我正在使用本机打包程序来构建exe.我想从Windows文件上下文菜单运行我的应用程序,但是当我尝试使用params运行应用程序时:
> JavaFXApplication1.exe ???
Run Code Online (Sandbox Code Playgroud)
我得到2个错误:
当我将应用程序作为jar文件运行时:
> java -jar JavaFXApplication1.jar ???
Run Code Online (Sandbox Code Playgroud)
应用程序从成功开始,并且工作正常.
此外,当我从此命令运行应用程序时:
> JavaFXApplication1.exe aec
Run Code Online (Sandbox Code Playgroud)
一切都很好,应用程序工作正常.
示例应用代码:
package test;
import javafx.application.Application;
import javafx.stage.Stage;
public class Test extends Application {
@Override
public void start(Stage primaryStage) {
System.out.println("Started");
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("Args count: " + args.length);
launch(args);
}
}
Run Code Online (Sandbox Code Playgroud)
忽略,该应用程序不会关闭.
我认为这与此处描述的问题完全相同:https://bugs.openjdk.java.net/browse/JDK-8133034
有人解决了吗?或者是否有人知道这个问题的解决方法?我尝试了从1.8.40到1.8.72的java版本,但是在每个JVM上都失败了.这也不是环境问题,因为我已经在2台不同的机器(以及操作系统)上进行了测试.
我将不胜感激任何帮助.
Jira 问题在评论中提到,这是从 JDK 版本 8u40b06 开始的回归。如果可能的话,一种解决方法是使用旧的。尝试8u40b05。
目前,也许您可以将所有命令参数存储在一个文件中(以 ASCII 字符命名),并将文件位置作为参数传递,以便读取应用程序的实际参数。
另一种解决方法(最后的手段?)是将字符作为转义的 Unicode 传递。请参阅将转义的 Unicode 字符转换回实际字符。尽管不可否认这是一件丑陋且乏味的事情。
| 归档时间: |
|
| 查看次数: |
287 次 |
| 最近记录: |