
Java项目构建
虹梦未来
Java开发者,Linux爱好者,Gopher
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【开发心得】Java xsd文件转JavaBean
最近又要对接友商老的系统,依然采用http + xml方式的请求,客方提供了xsd,这里提供windows平台两种转换xsd文件为javaBean的方式。原创 2023-10-12 13:51:02 · 948 阅读 · 0 评论 -
【踩坑】idea打包结果与预想不一致
idea打包结果与预想不一致原创 2022-04-12 16:19:14 · 2664 阅读 · 0 评论 -
【开发心得】解决iframe 请求security出现X-Frame-Options
在开发SpringSecurity配置的项目时,返回带有iframe的页面时,无法显示。报错截图:打开页面工具看到提示Refused to display in a frame because it set 'X-Frame-Options' to 'DENY'>>>>> Springboot 2.x 要在继承了WebSecurityConfigurerAdapter 的配置类中配置。结合SpringBoot只要在页面访问控制的配置中加上http.原创 2021-07-30 11:22:25 · 1698 阅读 · 0 评论 -
【环境部署】windows10构建kafka环境。
前言:kafka的教程,概念比较多和细,这里不做分享,这里分享下环境搭建和基础demo构建。【环境】windows10JDK1.8zookeeper3.5.9kafka2.12-2.8.0注意:如果没有JDK,请先安装JDK【安装zookeeper】Zookeeper:1) 建议下载稳定版。 下载地址:http://mirrors.hust.edu.cn/apache/zookeeper/2) 下载后解压到一个目录:eg: E:\\en...原创 2021-05-23 23:21:19 · 390 阅读 · 0 评论 -
【开发心得】Spring data elastic search 解决Long转Timestamp时间问题。No converter found capable of converting from
前言:以下解决方案均基于Spring boot 2.x Spring data elastic 3/4 以及 elastic search high level client 7.8。报错:No converter found capable of converting from type [java.lang.Long] to type [java.sql.Timestamp]解决方案1:Spring data elastic search 版本 3.x,注意到4.x实际上没有El原创 2021-05-18 11:10:50 · 2508 阅读 · 4 评论 -
【分享】vue+Echarts动态数据已经赋值,但是无法渲染页面的问题
前言:对于后端的小伙伴来说,现在用vue-element-admin 真的太香了,毕竟Java向的程序员,光后端技术栈就得学到头皮发麻啊,所以,感谢尤雨溪,感谢饿了么,感谢花裤衩。最近在帮朋友写东西的时候,用到了饼图,可是数据明明已经加载到了,并且格式是对的,但是为啥就没法渲染呢?出现类似的问题,我们的思路往往是如下排除:1.代码本身是否有问题。2.数据格式对吗。3.代码加载顺序。所以,这就要求我们对前端,或者直接说js弱类型(当然es6和ts是比较严格了)比较适应,同时对Vue基础原创 2021-04-26 22:29:22 · 2139 阅读 · 2 评论 -
[开发心得]websocket vue springboot使用
前言: 这篇文章的名字为了方便百度搜索,显得不是很规整。websocket 的相关概念,实现方式这里不做赘述,有一些场景,不适合前端长轮询。所以通常采用后端主动通知的方式。Springboot部分:版本号由官方“仲裁“获得: <!-- ws 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <原创 2021-04-22 18:37:47 · 225 阅读 · 0 评论 -
【开发心得】resttemplate使用文件作为参数
前言:在开发对接抖音平台时,发现需要在后台选取文件,请求给抖音。使用spring官方的http客户端,如何传输文件呢,主要是传输文件需要给file设置key。知识点1:将文件读取为Resource资源FileSystemResource resource = new FileSystemResource(tempFilePath);知识点2:设置带key的参数MultiValueMap<String,Object> param = new LinkedMultiValueM原创 2021-03-25 09:13:43 · 783 阅读 · 0 评论 -
【开发心得】Springboot开启https,同时支持https与http
名词解析:超文本传输安全协议(HyperText Transfer Protocol Secure),缩写:HTTPS;常称为 HTTP over TLS、HTTP over SSL 或 HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在 1994 年首次提出,随后扩展到互联网上。原创 2021-03-25 09:06:15 · 817 阅读 · 3 评论 -
【开发心得】xml与json互转
前言:与webservice通讯时,经常会遇到json转xml和xml转object以及xml转json的场景,这里提供一个实现,也是参考别人的。<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version></dependen原创 2021-03-22 09:45:15 · 555 阅读 · 0 评论 -
【分享】Unknown SSL protocol error in connection to xxx:443
从github上clone项目的时候(协议为https),我们可能会遇到Unknown SSL protocol error in connection to xxx:443解决方法1: 将https改成http尝试。解决方法2: git 命令行 git config --global http.sslVerify false...原创 2021-03-19 20:45:33 · 1370 阅读 · 0 评论 -
【转载】IDEA中如何使用debug调试项目 一步一步详细教程
IDEA中如何使用debug调试项目 一步一步详细教程原文链接:http://www.yxlzone.top/show_blog_details_by_id?id=2bf6fd4688e44a7eb560f8db233ef5f7在现在的开发中,我们经常采用Debug来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。 所以学习下如何在Intelli转载 2021-03-05 16:32:54 · 454 阅读 · 0 评论 -
【分享】Failed to execute goal org.apache.,maven.plugins:maven-compiler-plugin:3.8.1问题
前言:小伙伴在使用Mvn编译的时候,一直报“Failed to execute goal org.apache.,maven.plugins:maven-compiler-plugin:3.8.1”,后来同组的程序媛解决了。解决方案,pom中添加如下即可,注意 source/target 要改成你的jdk版本一致。<plugin> <groupId>org.apache.maven.plugins</groupId> <artifa原创 2021-03-04 11:11:21 · 1583 阅读 · 1 评论 -
【转载】Java8时间工具类
JDK8基本上是现在最低的要求了。JDK新特性的时间工具类,应该是我们日常生活中能用到的,这里转载一个不错的时间工具类。import java.time.*;import java.time.format.DateTimeFormatter;import java.time.temporal.Temporal;public class DateUtil { public static final DateTimeFormatter TIME_FORMATTER = DateTimeFo转载 2021-03-03 15:22:35 · 162 阅读 · 2 评论 -
【使用心得】BeyondCompared4提示“缺少评估信息或损坏”
作为常用文本对照工具,除了idea自身,使用比较多的应该就是beyond compare4以及 UE了吧,本着尊重知识产权的原则,尽量还是购买授权。使用某种方式绿色beyond compare4后,在安装的30天后,可能会出现“缺少评估信息或损坏”的提示,解决方案如下。shell(CMD,powershell或者其他的命令行工具)输入如下:reg delete "HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4" /v C原创 2021-02-20 09:05:29 · 8327 阅读 · 8 评论 -
【开发心得】巧妙借助SQL语句构建器实现根据字段配置动态拼接SQL语句
前言:C2接口工程处理数据入库,因着不同的上游平台自家实现的cms平台有着不同的差距,产生的工单(xml数据),以及使用不同的key携带的数据入库。所以,需要消除字段差异。-------------------------------------------------- 免责声明: 文章中所涉及的代码不包含业务隐私,仅学术研究,分享实现思路 ------------------------------------------------------------设计:1.借助数据库实现外部的..原创 2021-02-15 16:13:28 · 482 阅读 · 6 评论 -
【学习提升】elastic search7.6示例
前言:ES版本迭代实在是太快了,es5,es6,es7的差异还比较大,参考:https://blog.youkuaiyun.com/chenghuanhuaning/article/details/105235006这里不啰嗦,直接上示例。顺便把本人手敲的demo付出来:https://github.com/javaSunson/es7.6demo.git1.pom-dependency<!-- es核心jar包 --><dependency> <groupI原创 2021-02-02 19:31:50 · 262 阅读 · 0 评论 -
【解决方案】解决Hype-v保留端口问题。
前言:在docker/虚拟化大行其道的情况下,我们在不方便使用开发环境(比如在家的时候,连接vpn桥接到公司网络有的时候诸多不便),搭建本地开发环境是比较正常的需求。笔者的云服务器又比较弱鸡。所以笔者时常借助docker处理环境。常规的安装docker(Windows10环境),有如下几个方案:1.虚拟机安装Linux环境,在linux环境内直接安装开发环境,或者在Linux环境中安装docker。这种方式的话,需要配置好网络/防火墙。(VM,vitrual box)2.Hype-v 方式安装d原创 2021-02-02 13:51:47 · 2617 阅读 · 0 评论 -
【学习提升】docker安装kibana并且设置中文
笔者最近在学习es,安装完es之后,安装kibana可视化步骤如下:#拉取kibana镜像docker pull docker.elastic.co/kibana/kibana:7.6.1#启动kibanadocker run -p 0.0.0.0:5601:5601 --name kibana --link elasticsearch docker.elastic.co/kibana/kibana:7.6.1(网上推荐是,用哪个版本的es就用哪个版本的kibana,比如我用的7.6.原创 2021-01-19 11:17:31 · 3040 阅读 · 0 评论 -
【学习提升】windows10 环境使用docker安装elasticsearch并安装elasticsearch-head
前言:单独安装es相对来说,在不熟悉的情况下,会遇到各种问题。这里本着学习es开发,所以选择使用docker安装es及可视化工具。安装 es(笔者这里使用7.6.1,建议换docker源为阿里源,不然很容易pull不到)docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.1启动es要点: 设定单机-e "discovery.type=single-node" 并且指定使用内存ES_JAVA_OPTS="-Xm...原创 2021-01-15 14:25:11 · 515 阅读 · 1 评论 -
【运维心得】使用sed/grep命令截取日志
使用sed命令截取日志:要点:知道具体时间的话,就填具体的起止时间,不知道的可以使用*模糊查询。sed -n '/2021-01-06 14:34:26.001/,/2021-01-06 14:34:26.497/p' screenlog.0-20210106 > category.txt配合grep命令截取日志(按行号截取):确定起始行:grep -a -n "^2021-01-06 14:05" screenlog.0 | head -1确定结束行:grep原创 2021-01-08 10:46:43 · 553 阅读 · 0 评论 -
【开发心得】使用Map存储和取出数据,忽略大小写
有的时候,我们需要对一份数据,产生不同的工单,需要进行字段的映射,常规的方法,使用Map或者JsonObject存储,key都存储为小写。但是其实没必要,处理方案有如下三种:1.自己手写比较器Map<String, Object> map = new TreeMap<String, Object>(new Comparator<String>() { @Override public int compare(String o1, String o原创 2020-12-02 14:01:32 · 2841 阅读 · 0 评论 -
【开发心得】freemarker生成各类工单的思路
前言:之前和一个网友在评论里聊到生成工单的思路。笔者编写了一个xmlUtils,参考我的另一篇博文https://blog.youkuaiyun.com/qq_26834611/article/details/108856515基于他提到使用freemarker 去实现,我今天得空的时候去研究了一下(我们已经前后端分离了,而且我只学过thymeleaf)注意:1).使用的freemarker jar包版本 :2.3.28 空构造的Configuration 在2.3.x已经被废弃了,需要传递Versi.原创 2020-10-20 18:04:30 · 203 阅读 · 1 评论 -
【珠玑】关于Java instance of关键字
最近一直致力于让代码更具复用性,有些场景十分相似,比如对于IPTV来说,工单的场景,最后抽象一下业务,就会发现,入库只剩下 新增,更新,删除等操作,唯一不同的就是根据工单解析,object节点的action的不同或者mapping的父子类型不同,其他非常类似。然后在具体处理的时候,可以传递Object 然后根据instance of判断传递的对象是那个实体类的,分别入库,当然泛型也是可以的。关于 instance of 的使用,之前一直没咋用过,哪怕是需要类型强制转换的时候。发现了一个帖子,描述的很详.转载 2020-10-20 13:45:52 · 122 阅读 · 0 评论 -
【开发心得】工程不打印日志的解决方案
前言:公司新的技术选型,敲定了携程的Apllo配置中心,配置好之后,工程启动,发现不打日志。解决方案:把logging配置单拎出来,放在原本的配置文件中即可,这个和加载顺序有关。原创 2020-09-16 10:53:42 · 424 阅读 · 0 评论 -
【开发心得】记录一次同步记录脚本的编写过程。
前言:项目落地尾声,数据的持续同步是一个比较痛苦的问题,本身iptv领域有c1~c4四个数据传输协议,如果只是通过接口下发和接收来同步数据的话,倒还好说,主要问题在于,如何处理无法下发并且需要同步的数据。数据同步步骤:0.我方将新系统使用的数据导出,并且建议与就系统数据相关的关联关系表。1.客户将旧系统使用的分类数据导出。我方拿到导出数据,建立关联关系。2.客户持续导出分类与内容的编排关系到服务器的某个位置。3.我方借助Java小工程(Springboot快速编写)。细节步骤: ..原创 2020-08-31 10:54:36 · 221 阅读 · 2 评论 -
【mac】未能正确拔出移动硬盘,导致移动硬盘无法识别问题。
前沿: 新的mac,新的移动硬盘,平时使用硬盘没有硬件损坏,也正确操作读写和装载卸载,但是偶然忘记弹出就直接拔了移动硬盘,导致mac下移动硬盘不可读,这里分windows下可读和不可读两种。可读: 命令行式解决方案:windows下可读,证明硬件并没有坏,然后网上大多的解决方案就如下语句:diskutil list #查看磁盘列表sudo diskutil mount /dev/disk2s1 #挂在disks2 ---这里要根据上一步查出来的,你自己无法识别硬盘决定...原创 2020-08-12 22:57:14 · 8482 阅读 · 3 评论 -
【开发心得】Java常见日志排查方法。
1.tail 1) tail -f xxxx.log 查看日志文件的实时变动。 2) tail -500f xxxx.log 实施查看末尾500行的变动。 3) tail -5000 xxxx.log 查看末尾 5000行的变动 -n 是可选的。 4) tail -5000 xxxx.log > today.log 查看并且重定向文件中,方便down到本地查看。2.grep ...原创 2020-07-10 20:04:31 · 1905 阅读 · 0 评论 -
【开发心得】数据比对,数据库底量处理,数据迁移技巧
数据比对技巧 场景1:与其他产商的系统对接的时候,往往因为字段不匹配,或者网络问题,或者线程池满载等,导致一些数据未能正常入库,仅靠流水表有的时候并不能完全确定所有的数据问题。 处理方案: 1.从厂商那里拿到出库数据表,可以导成csv或者excel.(页面导出或者数据库导出都行) 2.从本系统导出数据,同样是csv或者excel. 3.虽然双方数据库可能有所差异,但是应该有共通列,这个时候可以将共同列数据放在同一个excel...原创 2020-07-02 20:32:01 · 398 阅读 · 0 评论 -
【git操作】远程强制覆盖本地代码
git fetch --all 拉取所有更新,不同步git reset --hard origin/分支名 本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件)git pull 再更新一次 针对第二步低概率未能完全覆盖的情况下,比如远程库有本地库没有的数据...原创 2020-06-30 14:33:29 · 2177 阅读 · 0 评论 -
【Guava】Joiner的使用
前言,维护老代码的时候发现有很多需要拼接字符串的,比如由一个list拼成一个以逗号分割的字符串,很多时候都是采用遍历集合使用 SpringBuilder进行append内容和符号,其实Guava帮我们做了一个好用的工具类-Joiner List<String> userCPId = cacheUtil.getUserCPId(); String cpStr = Joiner.on(",").skipNulls().join(userCPId);一行解决,何其优雅~原创 2020-06-06 15:24:37 · 423 阅读 · 0 评论 -
【开发心得】低版本POI升级到高版本POI遇到的问题
笔者在实际开发中,遇到了poi版本的问题,老项目一枚,存在poi3.8和easypoi3.0.1(其实老项目中就存在版本冲突问题了)多处遇到了导入导出的功能,本着能使用高版本稳定版本就不用老版本的想法(老是因为照顾低版本,而不迭代,性能怎么提升?)遇到的常见问题和解决方案如下:1.Java操作Excel之POI:HSSFCell.CELL_TYPE_STRING、BOOLEAN、N...原创 2020-03-25 13:40:05 · 4647 阅读 · 0 评论 -
[idea]提升idea开发效率的几个插件
Java程序员,eclipse或者idea是常备的开发工具。idea又是近几年非常火爆的开发新宠了(低配电脑除外),推荐几个提升效率的工具,并收集几个比较好的教程放在这里。JRebel for IntelliJ安装参考:https://blog.youkuaiyun.com/weixin_42831477/article/details/82229436激活:https://blog.cs...原创 2020-02-11 13:55:58 · 304 阅读 · 0 评论 -
[数据库]借助Navicat快速生成数据库字典
工作交接或者新项目完成,我们往往需要写接口文档和数据库字典等资料,接口文档的生成方案很多,并且资料很多,这里就不赘述了,下面分享一个快速生成“数据库字典”的小技巧。使用工具【navicat12+,excel2016】 理论上讲,没有版本要求。1.借助Navicat将表结构数据导出。use xx_pro; # 数据库名称show tables;将要生成数据库字典的数据库中的表全部...原创 2019-12-19 18:58:21 · 605 阅读 · 0 评论 -
引入旧的Java项目的时候出现"Description Resource Path Location Type Date cannot be resolved to "解决方案
错误描述:Description Resource Path Location TypeDate cannot be resolved to a type add.jsp /besto/WebRoot/WEB-INF/pages/series line 176 JSP Problem解决方案:1.window-->preferences-->java-->Ins...原创 2019-04-24 14:10:46 · 31786 阅读 · 0 评论 -
[Apache Commons组件学习]exec
我们在实际学习和开发中,总避免不了,希望能够直接通过Java运行一些系统相关的脚本之类的,所以,虽然可以借助Runtime.getRuntime().exec调用外部程序,Runtime.getRuntime().exec是java原生态的命令,而Apache commons-exec封装一些常用的方法用来执行外部命令。例如我们想得到当前windows目录下的文件信息,在cmd命令行下的命令...原创 2019-05-12 15:00:37 · 727 阅读 · 1 评论 -
【Java】Tomcat 自定义日志路径
Tomcat的默认路径是在安装目录下的logs文件夹如果想要自定义路径,比如/data/logs,则只需要在tomcat/conf/路径下,将server.xml中的Value,配置如下即可,默认应该有一个,但是dictionary是logs <Valve className="org.apache.catalina.valves.AccessLogValv...原创 2019-07-11 09:54:50 · 1079 阅读 · 0 评论 -
【idea】提示 language level 5 的解决方案
当我们使用泛型或者JDK1.5之后的特性的时候,idea 如果language level 5 的解决方案,那么,只要在maven pom.xml手动指定插件版本就行。 <build> <plugins> <plugin> <groupId>org.apache.ma...原创 2019-08-02 18:32:26 · 2560 阅读 · 0 评论 -
【Ubuntu.idea】解决Linux下idea字体模糊,发虚,锯齿的现象
1.下载安装的时候选择带jre的(这个不是关键,但是使用它带的jre就是好使)2.idea安装目录编辑idea64.vmoptions (32的话就编辑idea.vmoptions)-Dawt.useSystemAAFontSettings=on-Dswing.aatext=true-Dsun.java2d.xrender=true...原创 2019-08-01 10:24:37 · 1881 阅读 · 0 评论 -
【Tomcat】解决tomcat创建文件和目录没有others权限问题
最近公司有一个新的需求,就是用Java使用apache common exec 执行ffmpeg进行ts文件切片。但是产生的切片文件总是没有others权限,导致无法使用http远程访问(做了反向代理)解决方案:在tomcat/bin目录下编辑catalina.sh文件查找 umask=“0027”更改为 umask=“0022”此时新生成的文件权限更改为 -rw-r–r...原创 2019-09-28 10:55:29 · 2046 阅读 · 0 评论