0

我一直在编写一个 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

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 传递,有没有办法让这个工作?

编辑

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

4

1 回答 1

0

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

于 2016-10-23T05:22:25.830 回答