有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用JavaFx WebEngine加载本地文件并向url添加参数。从jar执行程序时不工作

我一直在编写一个GUI来显示来自传感器的数据

gui包括一个谷歌地图可视化工具,通过标记(通过gps读数)显示数据

我一直在通过url使用“?”传递阅读资料和“&;”:

    String url = this.getClass().getResource("/resources/map.html").toExternalForm();
    url +="?";
    for (GPSReading r : data) {
        // remove all aplhabetic characters, except for S and E (for lon
        // lat) then trim the white spaces
        // pass it into the url to be processed by js
        url += r.toString().trim().replaceAll("[^\\d.ES ]", "").replaceFirst("S", "");
        url += '&';
    }

然后将其加载到网络引擎中

webEngine.load(url);

在eclipse中运行时,这很好,但是当我将代码打包到一个可执行的jar中时,链接断开,webEngine上什么也没有显示

这是我从url中检索参数的js代码:

    var parameters = window.location.href;
    parameters= decodeURI(parameters.split("?")[1]);
    var paramArray = parameters.split('&');
    [...]
     var field = paramArray[reading].split(" ").filter(Boolean);

然后我继续做一些字符串分析,效果很好

有人知道为什么通过url传递参数在eclipse中有效,而不是在Jar中有效吗?有没有办法做到这一点

Edit

我检查了jar,它包含我使用过的唯一外部库(RxTx),其余的都是java标准库


共 (1) 个答案

  1. # 1 楼答案

    您是否检查过eclipse制作的jar是否具有所需的所有类和外部库。这可能是一个外部库不存在的问题。然后,需要为包含所有依赖项的文件制作一个胖罐子