附件上传总结-模板文件服务器路径无法识别,aspose的maven无法下载,无法找到jar包问题,打包异常问题
之前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包问题,打包异常问题相关推荐
- 关于OneThink后台附件上传无法保存文件id或无法上传问题
关于OneThink后台附件上传无法保存文件id或无法上传问题 在使用OneThink进行项目开发的时候,遇到使用内置的上传附件功能时,无法保存相应的file_id,导致上传文件成功,但是数据库中对应 ...
- html获取附件上传位置,html中上传文件得到文件的绝对路径!
html中上传文件得到文件的绝对路径! HTML中使用input type="file"上传文件时,代码中只能得到文件的名称,而有些特殊的需要要求我们必须得到上传文件的绝对路径,为 ...
- java多附件上传 实例demo
java多附件上传 实例demo <%@ page language="java" import="java.util.*" pageEncoding=& ...
- 17、【 商品管理模块开发】——后台商品图片的springmvc和富文本上传以及ftp文件服务器的开发...
1.FTP文件服务器的搭建: 软件下载:ftpserver: image.png 浏览器访问:ftp://127.0.0.1/ image.png 点击任意一个文件,就可以看到我们图片啦,前提是前面指 ...
- httpclient 多附件上传
多附件上传实例: /*** 多附件上传* @param host* @param uri* @param attachment 附件* @param param body参数* @return*/pu ...
- python autoit获取网页ajax数据_WebDriver + Python 调用AutoIt例子(实现139邮箱写信页的附件上传)...
PS: 前提 1. 安装好webdriver下python实现的环境 2. 安装好Autoit(默认安装就可以了) 3. 另外需要一个139邮箱账号,脚本运行时上传的图片在附件里面 #coding:c ...
- ant react 上传_React实战之Ant Design—Upload上传_附件上传
React实战之Ant Design-Upload上传_附件上传 Upload组件大家都在官方文档中看过了,但写的时候还是会遇到许多问题,一些新手看了文档后感觉无从下手,本文过多的简绍就不说了,直接看 ...
- (转)基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
http://www.cnblogs.com/wuhuacong/p/3343967.html 大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随 ...
- ASP.NET多附件上传和附件编辑的实现
在写这篇文章之前我也在Google上找到了很多有关多附件上传的文章,有用ASP.NET实现的,也有用JSP.PHP等其它技术实现的,但基本前提都是事先通过js脚本来动态创建DOM,然后上传的时候在服务 ...
最新文章
- 软考中高项学员:2016年3月14日作业
- tensorflow一元二次函数拟合
- Lecture 21 Parallel Algorithms II
- 前端学习(2044)vue之电商管理系统电商系统之优化configwebpack和chainwebpack
- 在Mac上唤出「快速备忘录」的开启与关闭设置教程
- Silverlight通过Wcf Data Service访问数据库之ADO.NET Entity Framework篇
- 基于LiteOS Studio零成本学习LiteOS物联网操作系统
- 数据库联结使用及分类
- input位置_3分钟短文 | PHP 数组任意位置插入新元素,你是怎么处理的?
- GCC的gcc和g++区别,本质而言,gcc和g++并不是编译器,也不是编译器的集合,它们只是一种驱动器,根据参数中要编译的文件的类型,调用对应的GUN编译器而已
- java导论pdf下载,操作系统导论 PDF 下载
- 使用css画出一条虚线
- 应用随机过程期中复习总结
- 【系列】区块链与以太坊实战(1)-基础知识
- 为什么学不好编程?——好文章一网打尽
- [附源码]计算机毕业设计基于Springboot校园订餐管理系统
- oracle缩减表空间大小,Oracle表空间释放与增加表空间大小
- 05: 思科防火墙基础 、 思科ASA防火墙应用
- SNS社区网站的价格和价值
- SIMCOM7600CE FTP指令
热门文章
- 内网安全-Docker逃逸DMZ穿透
- lgg8配置_LG G8 ThinQ 评测「上手篇」:真小屏旗舰
- 中软国际python面试题_中软国际面试经验
- 谷歌浏览器查看HTTP请求头与响应头
- Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程
- 变频器与PLC通讯的精简设计
- KubeSphere 社区双周报 | 2022-09-02
- 一个G1 的问题引发对Linux命令总结——超级终端裸装apk程序
- 51Nod - 1266 蚂蚁
- 清华博导的“好学生”自述:我为什么逃离科研,选择去中学当老师!