IntelliJ IDEA

SpringBoot打成jar包部署,Excel模板下载文件遇到的问题

删除回忆录丶 提交于 2020-03-16 18:46:20
某厂面试归来,发现自己落伍了!>>> 问题一. 读取resource 目录下文件时出现路径找不到 在本机测试都很顺利,当打包jar文件放到服务器上测试的时候发现了类似下面的异常信息: java.nio.file.NoSuchFileException: file:/app.jar!/BOOT-INF/classes!/xxx.xlsx 原因:spring boot 将项目打包为jar,使用 java - jar 包名 在服务器上运行。此时文件为打包文件,所以不能通过路径获取到文件。类似不能读取压缩包中的文件,必须先解压缩。结论:spring boot 中的文件只能通过流来进行读取。 可以通过以下方法进行流的读取。 InputStream in = this.getClass().getClassLoader().getResourceAsStream("xxx.xlsx"); 问题二. Excel模板下载文件损坏 在本机测试都很顺利,当打包jar文件放到服务器上时下载完文件提示文件损坏 问题原因分析: 一开始度娘查到各种各样的说法,比如修改response请求回应头,比如使用ByteArrayHttpMessageConverter,比如修改文件读取方式,没点屁用!! 后面看到另外一篇文章,maven 打包的时候,使用了filter,其原理是处理文本文件,并将其替换变量

IDEA强悍了调试器竟然支持实时数据流分析啦提前知道代码怎么跑?

元气小坏坏 提交于 2020-03-13 21:01:15
【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> 1、对于调试器的加强:数据流分析辅助 IntelliJIDEA v2020.1 向调试器添加数据流分析辅助,它根据程序执行的当前状态预测和显示可能的异常,并始终为真/始终为假条件。 调试Java代码并到达断点时,IDE将根据程序的当前状态运行数据流分析,并在代码执行达到此点之前向您展示下一步将发生什么。 简单点说,就是在调试那些复杂的代码时,IDE可以预先显示不变的那些调试值,让你能够更好的调试代码,如图 不知道其它编辑器有没有更好的,我总感觉Visual Studio可能早就有了... 2、调试加强:属性置顶功能 这个改进不大,但是调试的时候很有用,就是说,你在调试的时候呢,有些对象的字段太多了,要去找他有时候还要翻页或者下拉很多,一般我们调试可能要走好多遍代码,你现在在第一次调试后,把这个调试的字段置顶,以免老是要去找。 3、调试加强:IPV6 调试 现在IDEA 支持通过远程计算机 IPV6 进入到调试会话。 4、性能分析的改进,剔除额外的东西 使用CPU 调试器进行性能分析的时候呢,可以通过隐藏一些方法啊什么的,或者只关注某个调用节点下的方法,来提供更高关注度的分析。 提供了四个选项: 只关注子集调用 只关注本调用 屏蔽子集调用 屏蔽本调用 另外,IDEA 允许你绕过递归,让你能够进行更专注的性能分析 5

gitignore 文件中忽略项不起作用的解决方法

谁说我不能喝 提交于 2020-03-13 10:56:50
开发过程中,我们自己会在gitignore 文件中添加一些忽略项,然而,每次使用git status 的时候都未列在 untracked里面,比如 用IDEA 开发,.idea 文件夹添加到该文件,再提交还是会提示。 .gitignore文件是用来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。在.gitignore文件中的每一行保存一个匹配的规则。例如: # 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !lib.a # 但 lib.a 除外 /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO node_modules .project .vscode build/ # 忽略 build/ 目录下的所有文件 doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt 新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。git清除本地缓存命令如下: git rm -r --cached . git add . git commit -m 'update

教你实现项目管理的自动化(二)

喜你入骨 提交于 2020-03-12 02:03:24
我们在上一次的分享中,讲解了Maven的环境变量配置及在IDEA中的集成,今天呢,就来给大家分享一下Maven的使用.Maven有两种使用方式,第一种呢,比较原始,就是直接在cmd的命令行窗口中去使用,第二种呢,就是在IDE(Eclipse或IDEA都行)中去使用.一般来说,我们都会在IDE里去使用。我们打开IDEA,点击创建新项目      在弹出的窗口中左侧选中Maven,然后直接下一步,填入我们的GroupId和ArtifactId,点击下一步,最后点击确定.这里对GroupId和ArtifactId做一个解释:   GroupId:一般来说,GroupId是公司或组织域名的倒装,比如我们的域名是shangzengedu.top,这里GroupId就是top.shangzengedu.   ArtifactId则是我们的项目名称,比如这里我起名叫test_m      刚生成的项目结构如下图所示,在上一次我们提到过,Maven是约定大于配置的,所以这里呢   src/main/java在约定里是放源代码的地方,   src/main/resources则是放配置文件的地方,   src/test则是放测试代码的地方,   pom.xml则是Maven配置的中心,我们的依赖,插件等的配置都是放在这个文件里,初始化的配置如右图所示:      而这些约定的信息,则是放在maven

IDEA中Maven打包时如何跳过测试

自闭症网瘾萝莉.ら 提交于 2020-03-12 01:51:23
方法1:直接使用IDEA提供的方式 Maven命令栏的工具栏有下图中的 图标,上面就写着 Skip Tests 按下 图标后,如下图,test就不可用了 直接使用package命令即可。 方法2:自己编辑maven命令 进入编辑命令 下图这种就没跳过测试 Maven命令后增加参数 -Dmaven.test.skip=true , 经验证,跳过了测试。 来源: oschina 链接: https://my.oschina.net/u/3730932/blog/3192029

IntelliJ IDEA: Method breakpoints may dramatically slow down debugging

岁酱吖の 提交于 2020-03-11 13:32:37
  按下 Ctrl+Shift+F8 ,弹出断点提示框。取消勾选 Java Method Breakpoints   当然,您也可以采用批量删除的方式,删除不需要的断点,一般来说此类断点都是无意间添加的。 来源: oschina 链接: https://my.oschina.net/hengbao666/blog/3191663

干掉PostMan!IDEA这款插件太实用了…

谁说我不能喝 提交于 2020-03-11 12:26:35
接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代码的时间还要多,几乎是每个开发的日常工作项。 所谓工欲善其事必先利其器,在没有尝到IDEA REST真香之前,postman确实是一个非常不错的选择,具有完备的REST Client功能和请求历史记录功能。 但是当使用了IDEA REST之后,postman就可以丢了,因为,IDEA REST Client具有postman的所有功能,而且还有postman没有的功能,继续往下看。 真香定律的原因有如下几个: 1、首先postman的所有功能IDEA REST Client都具备了,如REST Client控制台和历史请求记录 2、其次如果能够在一个生产工具里完成开发和调试的事情,干嘛要切换到另一个工具呢 3、然后IDEA REST Client还支持环境配置区分的功能,以及接口响应断言和脚本化处理的能力 4、IDEA REST Client的请求配置可以用文件配置描述,所以可以跟随项目和项目成员共享 IDEA REST Client控制台 从顶层工具栏依次Tools -> HTTP Client -> Test RESTFUL Web Service 打开后,IDEA REST Client控制台的界面如下样式: 可以看到,这个控制台展示的功能区和postman已经没什么差别了