java图片在jar包中路径问题
因为Windows和linux上的路径有差异,而且自己项目路径和linux服务器上的路径不一定相同。
最近要做个需求,动态的生成pdf文件供前台页面下载,我利用itext生成了pdf,但是在加载
图片加入pdf的时候遇到了问题,获取本机图片路径和服务器路径不一致,导致生成pdf失败,
我们的项目是打成jar包,在服务器上发布,图片也在jar包中,toString()后的路径如下:
jar:file:/home/admin/xteam/target/xteam.war/WEB-INF/lib/xteam.integration-1.0.jar!/xxx.jpg,
itext还算强大,这样的路径也找到了图片,求大神看下,路径中的感叹号!是什么鬼?代码如下:
//根据文件名获取文件路径
URL path2 = this.getClass().getResource("/xxx.jpg");
//转成String路径
String imagePath = path2.toString();
//利用Itext根据图片路径直接获得Image对象
Image image1 = Image.getInstance(imagePath);