Java
猿敲月下码
开源软件作者
展开
-
升级SpringCloudAlibaba报ReferenceAnnotationBeanPostProcessor.setClassValuesAsString(Z)V
依赖版本:spring-boot:2.3.12.RELEASEspring-cloud-alibaba:2.2.7.RELEASEspring-cloud:Hoxton.SR12nacos:2.0.3启动报:***************************APPLICATION FAILED TO START***************************Description:An attempt was made to call a method that doe原创 2022-03-21 16:24:43 · 3826 阅读 · 0 评论 -
Cannot connect to the Maven process. Try again later. If the problem persists, check the Maven Impor
IDEA关联源码报:Cannot connect to the Maven process. Try again later. If the problem persists, check the Maven Importing JDK settings and restart IntelliJ IDEAMaven中的JDK for importer对应的JDK版本太高,改成与本地一致即可。原创 2021-11-10 10:20:48 · 19820 阅读 · 9 评论 -
MQTT 客户端重连(Java paho)
MQTT客户端重连主要有两种方法第一种:自动重连设置org.eclipse.paho.client.mqttv3.MqttConnectOptions#setAutomaticReconnect为trueMqttConnectOptions options = new MqttConnectOptions();options.setAutomaticReconnect(true);然后callback实现org.eclipse.paho.client.mqttv3.MqttCallbackExt原创 2021-08-04 14:52:02 · 8471 阅读 · 6 评论 -
MQTT客户端二次封装,基于paho(Java)
首先看使用方式:pom.xml添加依赖:<dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.2.2</version></dependency>建立连接并自动重连public static void main(S原创 2021-07-27 11:02:31 · 3017 阅读 · 5 评论 -
一个Apache httpcomponents封装类
基于apache httpcomponents组件,首先依赖jar包<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version></dependency><dependency> <原创 2021-04-14 09:11:05 · 624 阅读 · 0 评论 -
RSA公钥验证签名(Java版)
RSA签名验证,使用公钥验证签名是否正确,含SHA1,SHA256需要依赖commons-codec<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.11</version></dependency>完整代码如下:import org.apac原创 2021-03-30 09:39:52 · 1900 阅读 · 2 评论 -
分享一个企业接口文档管理软件
这是月下自己写的软件,欢迎前来围观 ????Torna项目地址企业接口文档解决方案,目标是让文档管理变得更加方便、快捷。Torna采用团队协作的方式管理和维护项目API文档,将不同形式的文档纳入进来,形成一个统一的维护方式。特性介绍支持接口文档增删改查支持导入外部接口(支持导入swagger、postman)支持OpenAPI管理接口支持字典管理支持导出为markdown格式、html格式支持多环境接口调试支持文档权限管理,访客、开发者、管理员对应不同权限提供管理模式和浏览模式原创 2021-03-16 09:46:23 · 278 阅读 · 0 评论 -
代码生成器原理
代码生成器原理很简单,用一句话概括就是:将数据库字段转换成Java字段并输出内容。如下图所示:因此,首先需要做的是获取表信息以及表的字段信息,一般有两种方式,第一种:连接到数据库,执行相关SQL,查询出表结构信息。第二种:解析DDL,得到相关信息,code-gen采用第一种做法。获取表信息包括表名称,表备注,Mysql可以使用下面这个SQL。(code-gen源码对应:com.gitee.gen.gen.mysql.MySqlTableSelector)SHOW TABLE STATUS F原创 2021-02-26 14:33:33 · 4965 阅读 · 1 评论 -
分享一款代码生成工具,可自定义模板生成不同的代码
网上一些代码生成工具生成的内容大部分是写死的,没法自定义内容,这款代码生成工具比较灵活,可以自定义模板,生成各种各样的模板代码,可以生成mybatis xml,也可以生成前端vue代码。或许这就是我心目中最理想的代码生成器了。项目地址一款代码生成工具,可自定义模板生成不同的代码,支持MySQL、Oracle、SQL Server、PostgreSQL。只需要一个Java8环境,下载后即可运行使用。步骤简单,只需配置一个数据源,然后勾选模板即可生成代码。默认提供了通用的实体类、mybatis接口原创 2021-01-14 10:27:22 · 1223 阅读 · 0 评论 -
分享一个Swagger文档管理器,可以管理多个项目文档
一个Swagger文档管理后台,可统一管理多个项目的Swagger文档,只需要一个Java8环境,下载后即可运行使用源码地址支持导入json,非Java项目也可以使用支持swagger3支持Basic认证支持文档搜索,方便过滤文档支持树形表格展示复杂参数支持接口调试,支持文件上传、下载如果觉得swagger自带的界面难以使用,不放试试这个。预览图...原创 2020-09-27 15:08:36 · 1149 阅读 · 0 评论 -
The consumer group has been created before, specify another name please.
rocketmq 报 The consumer group has been created before, specify another name please. 错误可能是配置了多个consumer,但没有指定instanceName。确保instanceName唯一consumer.setInstanceName("consumer-instance-1");consumer2.setInstanceName("consumer-instance-2");...原创 2020-06-29 19:07:28 · 13429 阅读 · 2 评论 -
spring cloud gateway 获取真实IP
private static final String IP_UNKNOWN = "unknown";private static final String IP_LOCAL = "127.0.0.1";private static final int IP_LEN = 15; /** * 获取客户端真实ip * @param request request * @return 返回ip */ public static String getIP原创 2020-06-10 09:03:59 · 5846 阅读 · 0 评论 -
Java代码格式化工具
这里使用开源项目jalopy进行代码格式化,开源地址:https://sourceforge.net/projects/jalopy/maven依赖:<!-- 代码格式化 --> <dependency> <groupId>jalopy</groupId> <artifac...原创 2018-05-10 15:17:44 · 4157 阅读 · 1 评论 -
easyopen——一个简单易用的接口开放平台
摘要: 一个简单易用的接口开放平台,平台封装了常用的参数校验、结果返回等功能,开发者只需实现业务代码即可。easyopen介绍一个简单易用的接口开放平台,平台封装了常用的参数校验、结果返回等功能,开发者只需实现业务代码即可。码云地址:https://gitee.com/durcframework/easyopen开发文档:http://durcframework.gitee.io/easyopen原创 2018-01-19 11:41:03 · 9365 阅读 · 1 评论 -
poi处理docx转pdf出现空指针异常
转换过程出现这个异常 Caused by: java.lang.NullPointerException at org.apache.poi.xwpf.converter.core.styles.run.RunUnderlineValueProvider.getValue(RunUnderlineValueProvider.java:40) 查看源码得知是代码写的不严谨return (r原创 2017-12-04 21:32:21 · 7422 阅读 · 5 评论 -
给java文件批量添加License信息
给java文件批量添加License信息原创 2017-08-18 15:12:02 · 1634 阅读 · 0 评论 -
PDF转图片Java实现
PDF转图片Java实现原创 2017-07-31 17:23:39 · 30535 阅读 · 24 评论 -
Spring Cloud Sleuth整合dubbo
Spring Cloud Sleuth整合dubboSpring Cloud Sleuth为Spring Cloud实现了一个分布式跟踪解决方案,大量借鉴了Dapper、Zipkin和HTrace。您可以简单地在日志中捕获数据,或者将数据发送到远程收集器服务。其中zipkin服务负责收集数据,并展示链路跟踪图,brave负责采集数据上传数据到zipkin服务器。Sleuth在2.0已经对du...原创 2019-07-19 11:00:28 · 3606 阅读 · 3 评论 -
使用递归实现各种组合实现
题目: 手机内存:16G,32G 手机颜色:红,黑 手机渠道:国行,港行 要求列出所有组合,16G/红/国行,16G/黑/国行...原创 2018-07-12 12:53:40 · 2630 阅读 · 0 评论 -
RSA加解密,Java和C#互通
使用场景Java作为服务端生成一对公私钥,C#作为客户端拥有公钥。RSA算法这里就不多做介绍了,可参考RSA算法介绍规范公私钥的形式都是base64字符串通过公私钥加密后的字符串也是base64字符串测试内容C#用公钥加密,Java用私钥解密Java用私钥加密,C#用公钥解密测试代码先给出测试代码,后面会有具体的源码。首先Java作为服务端生成一对公...原创 2018-08-03 10:47:48 · 9469 阅读 · 5 评论 -
动态改变执行方法
题目:有一个接口Processor,分别被ServiceA和ServiceB实现。interface Processor { void process();}class ServiceA implements Processor { @Override public void process() { System.out.println("run ServiceA..."); ...原创 2018-10-10 17:58:11 · 421 阅读 · 0 评论 -
windows下git clone报“Filename too long”错误
git有可以创建4096长度的文件名,windows最多是260解决办法输入以下命令即可git config --global core.longpaths true原创 2018-10-24 16:42:44 · 426 阅读 · 0 评论 -
使用Optional获取Json中的字段
{ "user": { "age": 20 ,"name": "Jim" ,"address": { "province": "浙江省" ,"postcode": "111111" } }}假设有这样一个json字符串,现在要获取postcode信息。如果不用Optional的话,要写各种if…else语句,还要判断字段是否存在。String postc...原创 2019-04-17 10:04:28 · 6561 阅读 · 3 评论 -
一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台
SOP(Simple Open Platform)项目地址一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。通过简单的配置后,你的项目就具备了和支付宝开放平台的一样的接口提供能力。SOP封装了开放平台大部分功能包括:签名验证、统一异常处理、统一返回...原创 2019-07-11 18:48:47 · 10581 阅读 · 0 评论 -
如何通过class判断是否是一个类的子类
有两个类:class Person {}class Man extends Person {}如果要判断Man对象是否是Person的子类,可以这样:Man man = new Man();System.out.println(man instanceof Person); // true现在只知道Man类的class,如何判断它是Person的子类呢,可以用Class的is...原创 2019-08-26 15:18:19 · 20359 阅读 · 1 评论 -
JSR-303校验指定顺序
JSR-303介绍如果要指定校验顺序,可通过groups来控制。新建几个Group接口public interface Group1 {}public interface Group2 {}public interface Group3 {}新增一个GroupSequence@GroupSequence({ // 默认的必须加上,不然没有指定group...原创 2019-09-09 11:34:43 · 812 阅读 · 0 评论 -
判断一个字符串是否回文
比如一个字符串"123321"就是回文或者"abcba"也是回文public class Testt { public static void main(String[] args) { String s="abcdeffedcba"; StringBuilder sb=new StringBuilder(s); sb.reverse(); //反转一下 boole原创 2009-03-31 09:24:00 · 1813 阅读 · 0 评论 -
git创建项目,导入代码
git上创建一个项目demo,假设我们的代码仓库地址为: http://your_username@git.xxx.com/your_username/demo.git原创 2017-06-06 11:00:26 · 1386 阅读 · 0 评论 -
Intellij Idea 2016.3 SVN 提交 No changes detected
Intellij Idea 2016.3 SVN 提交 No changes detected原创 2017-03-24 15:57:11 · 10345 阅读 · 2 评论 -
springmvc项目log4j日志不打印
springmvc项目,启动的时候控制台能看到日志,但是后续运行的时候日志没有打印.尝试解决:在web.xml中添加 org.springframework.web.util.Log4jConfigListener log4jConfigLocation classpath:log4j.properties 其中log4j.properties在class原创 2016-10-28 17:06:26 · 13087 阅读 · 0 评论 -
检查端口是否正在使用
import java.net.ServerSocket;/** * 检查端口是否正在使用 */public class CheckPort { public static void main(String[] args) { for (int i = 1; i < 8888; i++) { testPort(i); } System.out.pr原创 2009-09-15 19:43:00 · 1348 阅读 · 0 评论 -
Java调用浏览器打开一张网页
import java.awt.Desktop;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;public class TestBrowse { public static void main(String[] a) { try { URI u原创 2009-09-10 11:31:00 · 3613 阅读 · 0 评论 -
Java运行bat文件
比如在C盘下有个test.bat文件: public static void main(String[] args) { try { Runtime.getRuntime().exec("cmd /c start c://test"); } catch (IOException e) { e.printStackTrace(); }}原创 2009-05-15 10:31:00 · 1131 阅读 · 0 评论 -
Java模仿DOS界面
原理是截获被调用程序的DOS运行窗口的标准输出代码如下: import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class MyDOS extends JFrame { /** * */ private s原创 2009-04-05 17:19:00 · 2658 阅读 · 2 评论 -
(方法)把一个字符串中的大写字母转换成小写,小写字母转换成大写2
通常来说从栈里面取出数据要比从堆里面取出数据速度来的快,第一种方法几乎全部用Java的字符串方法来实现的,现在尽量不去用这些方法来实现此功能.但是我测试了下运行时间,两者都是0,比较奇怪的事情... public class MyString2 { /** * 把一个字符串中的大写字母转换成小写,小写字母转换成大写 * 第二种方法 * @param s 传入的字原创 2009-03-29 16:39:00 · 9871 阅读 · 2 评论 -
用正则表达式提取网页中的邮箱地址
import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.regex.*;public class MyRegex { public static void main(String[] args) { try {原创 2009-03-29 15:59:00 · 6679 阅读 · 0 评论 -
Java实现MySQL图片存取操作
存入操作/*---------------表结构------------表名:student2+--------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+-----原创 2009-03-09 12:04:00 · 4516 阅读 · 0 评论 -
压缩文件夹
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;public class FolderZiper { public st原创 2009-09-15 20:32:00 · 560 阅读 · 0 评论 -
Tomcat与Apache集成
由于公司项目的需要,最近做了一些服务器集成的研究,并做下笔记。 为什么要进行整合?Tomcat: 具有传统的web服务器的功能,除了可以处理html页面以外,还可以作为servelt容器来解析jsp和servlet。 Apache: 对静态页面,资源文件(图片,文本,js,htc等)的处理能力(速度,稳定)远远大于Tomcat。但是不支持asp, php,原创 2010-03-20 13:32:00 · 3128 阅读 · 2 评论 -
将应用部署到Tomcat根目录
将应用部署到Tomcat根目录的目的是可以通过“http://[ip]:[port]”直接访问应用,而不是使用“http://[ip]:[port]/[appName]”上下文路径进行访问。方法一:(最简单直接的方法) 删除原 webapps/ROOT 目录下的所有文件,将应用下的所有文件和文件夹复制到ROOT文件夹下。方法二: 删除原 webapps/原创 2016-10-09 11:15:41 · 3874 阅读 · 1 评论