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