jfinal项目打成jar包报错的问题

我想把项目打成可执行jar包,可是执行的时候报错:

java.net.URISyntaxException: Expected scheme-specific part at index 5:...

抛出异常的位置是:

private static String detectWebRootPath() {

try {

String path = PathKit.class.getResource("/").toURI().getPath();

return new File(path).getParentFile().getParentFile().getCanonicalPath();

} catch (Exception e) {

throw new RuntimeException(e);

}

查找了一些网上资料说:

                    地址中涉及了特殊字符,如‘|’‘&’等。所以不能直接用String代替URI来访问。必须采用%0xXX方式来替代特殊字符。但这种办法不直观。所以只能先把String转成URL,再能过URL生成URI的方法来解决问题。


我也不知道是什么原因,求解~~~~~

评论区

JFinal

2016-11-07 17:47

没碰到过这种问题,建议多调试一下,记得解决以后回来再分享一下

java180

2016-11-08 11:29

@JFinal PathKit.class.getResource("/")这里获取到的是rscr:好像是系统资源信息什么东东,所有它转化为ui的时候报错了

java180

2016-11-08 12:09

@JFinal 我把PathKit.class.getResource("/")改为PathKit.class.getResource("/").getClass().getResource("/")就能显示路径了,不过jetty加载servlet又出错了,导出的jar包里面也没有web项目的页面和web.xml。。。

JFinal

2016-11-08 13:16

@java180 多写点代码,或者通过配置的方式,兼容下两种运行环境

热门反馈

扫码入社