之前easypoi做了excel和word报表的导出功能,excel是列表的导出,没有在服务器上存储临时文件,直接将流文件导出,除了样式的属性版本不同可能会报错,需要找到对应版本的style之外,其他的没有啥问题。
word报表的导出,因为直接流文件导出可能会有问题,所以首先新建模板后需要将文件流先写入临时的word文件,然后在转成临时pdf文件再输入文件流。

1.本地没有问题,到服务器显示模板路径找不到

这是第一个问题

//临时文件存储路径public static String  path = Thread.currentThread().getContextClassLoader().getResource("").getPath();

这块获取到的是jar包类的class文件模板,本地没有问题,到服务器中这块jar类的文件就显示访问不到了,需要把模板文件放在jar同级目录,也方便以后修改。

String  path = jarFile.getParent();
//临时文件存储路径
String docxpath = path + "temporary.docx";
String pdfpath = path + "temporary.pdf";

这样就不会报错temporary.docx临时文件访问不到了。

2.aspose的maven无法下载

这块是困扰时间最长的一个问题,网上查询都是是网络原因还是啥的,无法获取maven的包,去配置文件新增配置同时删除阿里云的镜像就可以拉jar包下来了,各种方法都试了最后还是报错。
最后去仓库一看,jar早就已经下载下来了,就是pom报错,没办法,就采取另外一种方式,直接引用外部jar包。
先去网上找到jar
jar
然后放到lib文件夹下。打开设置新增jar



新增完成apply即可。代码就可以引用aspose。

3.编译显示找不到从com.aspose

代码显示正常,但是代码写完编译不通过,显示找不到。
原因就是外部引入的jar,编译打包不会自动去找,需要pom加入一下配置

 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding><compilerArguments><extdirs>${project.basedir}/lib</extdirs></compilerArguments></configuration></plugin>

4.本地可以了,服务器报错找不到class

这块查看jar,到对应的lib下面会发现还是没有aspose的包。原因就是本地虽然加入jar包了,但是maven没有坐标,maven打包的时候不会把对应的自己引入的包打包进去。

最终解决方案,首先添加坐标

  <dependency><groupId>aspose</groupId><artifactId>aspose</artifactId><version>1.0</version><scope>system</scope><systemPath>${project.basedir}/lib/aspose-words-15.8.0-jdk16.jar</systemPath></dependency>

这块是自己的jar包的位置,这里的groupId之类的自己写名字。
然后加入

 <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin>

这样再打包到服务器,就可以正常了。

附件上传总结-模板文件服务器路径无法识别,aspose的maven无法下载,无法找到jar包问题,打包异常问题相关推荐

  1. 关于OneThink后台附件上传无法保存文件id或无法上传问题

    关于OneThink后台附件上传无法保存文件id或无法上传问题 在使用OneThink进行项目开发的时候,遇到使用内置的上传附件功能时,无法保存相应的file_id,导致上传文件成功,但是数据库中对应 ...

  2. html获取附件上传位置,html中上传文件得到文件的绝对路径!

    html中上传文件得到文件的绝对路径! HTML中使用input type="file"上传文件时,代码中只能得到文件的名称,而有些特殊的需要要求我们必须得到上传文件的绝对路径,为 ...

  3. java多附件上传 实例demo

    java多附件上传 实例demo <%@ page language="java" import="java.util.*" pageEncoding=& ...

  4. 17、【 商品管理模块开发】——后台商品图片的springmvc和富文本上传以及ftp文件服务器的开发...

    1.FTP文件服务器的搭建: 软件下载:ftpserver: image.png 浏览器访问:ftp://127.0.0.1/ image.png 点击任意一个文件,就可以看到我们图片啦,前提是前面指 ...

  5. httpclient 多附件上传

    多附件上传实例: /*** 多附件上传* @param host* @param uri* @param attachment 附件* @param param body参数* @return*/pu ...

  6. python autoit获取网页ajax数据_WebDriver + Python 调用AutoIt例子(实现139邮箱写信页的附件上传)...

    PS: 前提 1. 安装好webdriver下python实现的环境 2. 安装好Autoit(默认安装就可以了) 3. 另外需要一个139邮箱账号,脚本运行时上传的图片在附件里面 #coding:c ...

  7. ant react 上传_React实战之Ant Design—Upload上传_附件上传

    React实战之Ant Design-Upload上传_附件上传 Upload组件大家都在官方文档中看过了,但写的时候还是会遇到许多问题,一些新手看了文档后感觉无从下手,本文过多的简绍就不说了,直接看 ...

  8. (转)基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

    http://www.cnblogs.com/wuhuacong/p/3343967.html 大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随 ...

  9. ASP.NET多附件上传和附件编辑的实现

    在写这篇文章之前我也在Google上找到了很多有关多附件上传的文章,有用ASP.NET实现的,也有用JSP.PHP等其它技术实现的,但基本前提都是事先通过js脚本来动态创建DOM,然后上传的时候在服务 ...

最新文章

  1. 软考中高项学员:2016年3月14日作业
  2. tensorflow一元二次函数拟合
  3. Lecture 21 Parallel Algorithms II
  4. 前端学习(2044)vue之电商管理系统电商系统之优化configwebpack和chainwebpack
  5. 在Mac上唤出「快速备忘录」的开启与关闭设置教程
  6. Silverlight通过Wcf Data Service访问数据库之ADO.NET Entity Framework篇
  7. 基于LiteOS Studio零成本学习LiteOS物联网操作系统
  8. 数据库联结使用及分类
  9. input位置_3分钟短文 | PHP 数组任意位置插入新元素,你是怎么处理的?
  10. GCC的gcc和g++区别,本质而言,gcc和g++并不是编译器,也不是编译器的集合,它们只是一种驱动器,根据参数中要编译的文件的类型,调用对应的GUN编译器而已
  11. java导论pdf下载,操作系统导论 PDF 下载
  12. 使用css画出一条虚线
  13. 应用随机过程期中复习总结
  14. 【系列】区块链与以太坊实战(1)-基础知识
  15. 为什么学不好编程?——好文章一网打尽
  16. [附源码]计算机毕业设计基于Springboot校园订餐管理系统
  17. oracle缩减表空间大小,Oracle表空间释放与增加表空间大小
  18. 05: 思科防火墙基础 、 思科ASA防火墙应用
  19. SNS社区网站的价格和价值
  20. SIMCOM7600CE FTP指令

热门文章

  1. 内网安全-Docker逃逸DMZ穿透
  2. lgg8配置_LG G8 ThinQ 评测「上手篇」:真小屏旗舰
  3. 中软国际python面试题_中软国际面试经验
  4. 谷歌浏览器查看HTTP请求头与响应头
  5. Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程
  6. 变频器与PLC通讯的精简设计
  7. KubeSphere 社区双周报 | 2022-09-02
  8. 一个G1 的问题引发对Linux命令总结——超级终端裸装apk程序
  9. 51Nod - 1266 蚂蚁
  10. 清华博导的“好学生”自述:我为什么逃离科研,选择去中学当老师!