我一直在编程GUI以显示来自传感器的数据。
gui包含一个谷歌地图可视化工具,用标记显示数据(通过gps读数)。
我是通过使用'?'通过网址传入读数的?和'&':
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标准库完成了其余的工作。
答案 0 :(得分:0)
您是否检查过由eclipse制作的jar具有您需要的所有必需类和外部库。这可能是外部图书馆不存在的问题。然后,您需要为包含所有依赖项的文件创建一个胖jar