接受版本控制

This commit is contained in:
Shawn 2018-12-30 18:20:37 +08:00
parent 13328f35f3
commit ccfad81f6b
3 changed files with 496 additions and 360 deletions

111
README.md
View File

@ -1,44 +1,67 @@
通用工具包 yexuejc-base 基于jdk8常用工具包
----------------------
### 说明 源码地址:<br>
>1. 支持环境java8 github:https://github.com/yexuejc/yexuejc-base
>2. 该工具包基于springboot提取按理说适用于所有java工程 gitee:https://gitee.com/jzsw-it/yexuejc-base
>3. 其中依赖jjwt、validation-api排除请使用
``` ### 说明
<exclusions> >1. 支持环境java8
<exclusion> >2. 该工具包基于springboot提取按理说适用于所有java工程
<artifactId>xxx</artifactId> >3. 其中依赖jjwt、validation-api排除请使用
<groupId>xxxx</groupId> > ```
</exclusion> > <exclusions>
</exclusions> > <exclusion>
``` > <artifactId>xxx</artifactId>
>4. 1.1.9升级JWT为单例类 > <groupId>xxxx</groupId>
>5. 1.2.3修复RSA加密(签名)Base64Url 问题如需使用RSA请使用1.2.3+ > </exclusion>
> </exclusions>
> ```
### 使用 >
>yexuejc.base.version=1.2.9 >4. `1.1.9` 升级JWT为单例类
>5. `1.2.3` 修复RSA加密(签名)Base64Url 问题如需使用RSA请使用1.2.3+
pom.xml >##### 6. 从`1.3.0`开始,版本维护转由`成都极致思维网络科技有限公司`向maven中央仓库发布版本同时变更组织`groupId``top.yexuejc`。使用者请尽快升级到`1.3.0`以上1.3.0代码向下兼容)
```
<dependencies>
<dependency> ### 使用
<groupId>com.yexuejc.base</groupId> >yexuejc.base.version=1.3.0
<artifactId>yexuejc-base</artifactId>
<version>${yexuejc.base.version}</version> pom.xml
</dependency> ```
</dependencies> <dependencies>
<repositories> <dependency>
<repository> <groupId>top.yexuejc</groupId>
<id>yexuejc-nexus-public</id> <artifactId>yexuejc-base</artifactId>
<name>yexuejc-nexus-public</name> <version>${yexuejc.base.version}</version>
<url>https://nexus.yexuejc.club/repository/maven-public/</url> </dependency>
</repository> </dependencies>
</repositories> ```
```
#### 附1.3.0之前的使用方式
### 工具文档 pom.xml
[Wiki](WIKI.md) ```
<dependencies>
### 更新日志 <dependency>
[更新记录](UPDATE.md) <groupId>com.yexuejc.base</groupId>
<artifactId>yexuejc-base</artifactId>
<version>1.3.0以下</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>yexuejc-nexus-public</id>
<name>yexuejc-nexus-public</name>
<url>https://nexus.yexuejc.club/repository/maven-public/</url>
</repository>
</repositories>
```
### 工具文档
[Wiki](WIKI.md)
### 更新日志
[更新记录](UPDATE.md)
#### 项目发展
本工程项目由maxf基于日常使用从[yexuejc-springboot](https://github.com/yexuejc/yexuejc-springboot.git)_准备移交版本控制_中抽离开源独立发展后续增加许多常用工具包。
使用者逐渐增多后考虑可靠性和稳定性原则,移交版本控制给`成都极致思维网络科技有限公司`管理maven包直接发布到中央仓库。
开源工程项目仍然保持继续维护和欢迎更多愿意贡献的小伙伴参与。

361
UPDATE.md
View File

@ -1,177 +1,186 @@
yexuejc-base 更新记录 yexuejc-base 更新记录
------------------ ------------------
#### version 1.2.9 #### version 1.3.0
**time2018-12-29 14:51:33** <br/> **time2018-12-30 16:47:50** <br/>
**branch** master <br/> **branch** master <br/>
**update** <br/> **update** <br/>
>1. 获取RSA密钥增加以输入流的形式获取密钥 >1. 移交发布到maven中央仓库
>2. 移交后变更groupId 为`top.yexuejc`
# >3. 源码发布由`成都极致思维网络科技有限公司`维护github开源地址不变gitee从组织[ICC(InCloudCode)](https://gitee.com/incloudcode)转移到[成都极致思维网络科技有限公司/yexuejc-base](https://gitee.com/jzsw-it/yexuejc-base)
#### version 1.2.6
**time2018-12-21 14:58:49** <br/> #
**branch** master <br/> #### version 1.2.9
**update** <br/> **time2018-12-29 14:51:33** <br/>
>1. RSA 验签增加初始化方法 **branch** master <br/>
**update** <br/>
# >1. 获取RSA密钥增加以输入流的形式获取密钥
#### version 1.2.8
**time2018-12-28 20:10:14** <br/> #
**branch** master <br/> #### version 1.2.6
**update** <br/> **time2018-12-21 14:58:49** <br/>
>1. 新增[ObjUtil](src/main/java/com/yexuejc/base/util/ObjUtil.java) 对类(对象)进行处理,提供深度克隆 **branch** master <br/>
**update** <br/>
# >1. RSA 验签增加初始化方法
#### version 1.2.6
**time2018-12-21 14:58:49** <br/> #
**branch** master <br/> #### version 1.2.8
**update** <br/> **time2018-12-28 20:10:14** <br/>
>1. RSA 验签增加初始化方法 **branch** master <br/>
**update** <br/>
# >1. 新增[ObjUtil](src/main/java/com/yexuejc/base/util/ObjUtil.java) 对类(对象)进行处理,提供深度克隆
#### version 1.2.7
**time2018-12-24 15:31:01** <br/> #
**branch** master <br/> #### version 1.2.6
**update** <br/> **time2018-12-21 14:58:49** <br/>
>1. FileUtil增加base64转File `base64ToFile()` **branch** master <br/>
**update** <br/>
# >1. RSA 验签增加初始化方法
#### version 1.2.6
**time2018-12-21 14:58:49** <br/> #
**branch** master <br/> #### version 1.2.7
**update** <br/> **time2018-12-24 15:31:01** <br/>
>1. RSA 验签增加初始化方法 **branch** master <br/>
**update** <br/>
# >1. FileUtil增加base64转File `base64ToFile()`
#### version 1.2.5
**time2018-12-20 13:13:23** <br/> #
**branch** master <br/> #### version 1.2.6
**update** <br/> **time2018-12-21 14:58:49** <br/>
>1. 丰富[JsonUtil](src/main/java/com/yexuejc/base/util/JsonUtil.java),支持直接对Map泛型转换 **branch** master <br/>
**update** <br/>
# >1. RSA 验签增加初始化方法
#### version 1.2.4
**time2018-11-27 14:46:04** <br/> #
**branch** master <br/> #### version 1.2.5
**update** <br/> **time2018-12-20 13:13:23** <br/>
>1. 工具类的优化 **branch** master <br/>
>2.规范代码 **update** <br/>
>1. 丰富[JsonUtil](src/main/java/com/yexuejc/base/util/JsonUtil.java),支持直接对Map泛型转换
#
#### version 1.2.3 #
**time2018-11-23 16:45:42** <br/> #### version 1.2.4
**branch** master <br/> **time2018-11-27 14:46:04** <br/>
**update** <br/> **branch** master <br/>
>1. 修复RSA加密签名时选择的Base64encodeBase64URLSafeString、encodeBase64String区分 **update** <br/>
# >1. 工具类的优化
#### version 1.2.1 >2.规范代码
**time2018-11-9 15:05:06** <br/>
**branch** master <br/> #
**update** <br/> #### version 1.2.3
>1. 优化resps **time2018-11-23 16:45:42** <br/>
# **branch** master <br/>
#### version 1.2.2 **update** <br/>
**time2018-11-20 20:20:12** <br/> >1. 修复RSA加密签名时选择的Base64encodeBase64URLSafeString、encodeBase64String区分
**branch** master <br/> #
**update** <br/> #### version 1.2.1
>1. 优化RSA 加解密 **time2018-11-9 15:05:06** <br/>
>1. 增加RSA 签名 **branch** master <br/>
# **update** <br/>
#### version 1.2.1 >1. 优化resps
**time2018-11-9 15:05:06** <br/> #
**branch** master <br/> #### version 1.2.2
**update** <br/> **time2018-11-20 20:20:12** <br/>
>1. 优化resps **branch** master <br/>
# **update** <br/>
#### version 1.2.0 >1. 优化RSA 加解密
**time2018-10-19 11:38:20** <br/> >1. 增加RSA 签名
**branch** master <br/> #
**update** <br/> #### version 1.2.1
>1. 增加异步线程处理工具 **time2018-11-9 15:05:06** <br/>
```$java **branch** master <br/>
SysUtil.threadRun(() -> { **update** <br/>
//异步执行代码块 >1. 优化resps
} #
``` #### version 1.2.0
# **time2018-10-19 11:38:20** <br/>
**branch** master <br/>
#### version 1.1.9 **update** <br/>
**time2018-9-23 11:57:36** <br/> >1. 增加异步线程处理工具
**branch** master <br/> ```$java
**update** <br/> SysUtil.threadRun(() -> {
>1. 优化工具类包名:不向下兼容,升级请修改 //异步执行代码块
>2. 升级JWT工具类更改为单例模式可配置参数 }
# ```
#
#### version 1.1.8
**time2018-9-3 19:29:56** <br/> #### version 1.1.9
**branch** master <br/> **time2018-9-23 11:57:36** <br/>
**update** <br/> **branch** master <br/>
>1. 增肌图片处理工具类 **update** <br/>
>2. 增肌3des工具类 >1. 优化工具类包名:不向下兼容,升级请修改
>3. 增肌RSA工具类 >2. 升级JWT工具类更改为单例模式可配置参数
>4. 优化其他工具类 #
#
#### version 1.1.7 #### version 1.1.8
**time2018-8-17 11:22:50** <br/> **time2018-9-3 19:29:56** <br/>
**branch** master <br/> **branch** master <br/>
**update** <br/> **update** <br/>
>1. 优化ApiVO >1. 增肌图片处理工具类
# >2. 增肌3des工具类
>3. 增肌RSA工具类
#### version 1.1.6 >4. 优化其他工具类
**time2018-7-7 11:32:56** <br/> #
**branch** master <br/> #### version 1.1.7
**update** <br/> **time2018-8-17 11:22:50** <br/>
>1. maven仓库更新 **branch** master <br/>
# **update** <br/>
>1. 优化ApiVO
#### version 1.1.5 #
**time2018-6-19 22:16:34** <br/>
**branch** master <br/> #### version 1.1.6
**update** <br/> **time2018-7-7 11:32:56** <br/>
>1. 优化ApiVO **branch** master <br/>
**update** <br/>
# >1. maven仓库更新
#### version 1.1.4 #
**time2018-6-14 22:27:59** <br/>
**branch** master <br/> #### version 1.1.5
**update** <br/> **time2018-6-19 22:16:34** <br/>
>1. 统一编码UTF-8 **branch** master <br/>
**update** <br/>
# >1. 优化ApiVO
#### version 1.1.3
**time2018年6月2日12:16:58** <br/> #
**branch** master <br/> #### version 1.1.4
**update** <br/> **time2018-6-14 22:27:59** <br/>
>1. 修改正则RegexUtils.java **branch** master <br/>
>2. 修改正则StrUtil.java->扩展genUUID() **update** <br/>
>1. 统一编码UTF-8
#
#### version 1.1.2 #
**time** 2018-5-16 15:03:28<br/> #### version 1.1.3
**branch** master <br/> **time2018年6月2日12:16:58** <br/>
**update** <br/> **branch** master <br/>
>1. 修改依赖 **update** <br/>
>1. 修改正则RegexUtils.java
# >2. 修改正则StrUtil.java->扩展genUUID()
#### version 1.1.1
**time** 2018-5-12 22:25:05<br/> #
**branch** master <br/> #### version 1.1.2
**update** <br/> **time** 2018-5-16 15:03:28<br/>
>1. 添加RSA **branch** master <br/>
# **update** <br/>
>1. 修改依赖
##### version 1.1.0
**time** 2018-5-12 22:25:05<br/> #
**branch** master <br/> #### version 1.1.1
**update** <br/> **time** 2018-5-12 22:25:05<br/>
>1. 添加支持加密功能 **branch** master <br/>
# **update** <br/>
>1. 添加RSA
#### version 1.0.0 #
**time** 2018-1-31 12:16:10<br/>
**branch** master <br/> ##### version 1.1.0
**update** <br/> **time** 2018-5-12 22:25:05<br/>
>1. 基于java8开发的web应用工具包 **branch** master <br/>
**update** <br/>
>1. 添加支持加密功能
#
#### version 1.0.0
**time** 2018-1-31 12:16:10<br/>
**branch** master <br/>
**update** <br/>
>1. 基于java8开发的web应用工具包
# #

384
pom.xml
View File

@ -1,141 +1,245 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.yexuejc.base</groupId> <groupId>top.yexuejc</groupId>
<artifactId>yexuejc-base</artifactId> <artifactId>yexuejc-base</artifactId>
<version>1.2.9</version> <version>1.3.0</version>
<name>${project.artifactId}</name> <name>${project.artifactId}</name>
<url>https://github.com/yexuejc/yexuejc-base</url>
<properties>
<repos.yexuejc.url>https://nexus.yexuejc.club/repository/</repos.yexuejc.url> <licenses>
<repos.aliyun.url>http://maven.aliyun.com/nexus/content/groups/public</repos.aliyun.url> <license>
<repos.jitpack.url>https://jitpack.io</repos.jitpack.url> <name>The Apache Software License, Version 2.0</name>
<jjwt.version>0.7.0</jjwt.version> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<maven.compiler.verbose>true</maven.compiler.verbose> </license>
<java.version>1.8</java.version> </licenses>
<validation-api.version>1.1.0.Final</validation-api.version>
<commons-codec.version>1.10</commons-codec.version> <developers>
<commons-io.version>2.6</commons-io.version> <developer>
<bcprov-jdk15on.version>1.60</bcprov-jdk15on.version> <name>yexuejc</name>
<guava.version>20.0</guava.version> <email>yexuejc@gmail.com</email>
</properties> <organization>Chengdu Ultimate Thinking Network Technology Co., Ltd.</organization>
<timezone>+8</timezone>
<dependencies> </developer>
<!-- JJWT --> </developers>
<dependency>
<groupId>io.jsonwebtoken</groupId> <scm>
<artifactId>jjwt</artifactId> <connection>
<version>${jjwt.version}</version> scm:git:https://github.com/yexuejc/yexuejc-base.git
</dependency> </connection>
<!-- 数据校验框架 --> <developerConnection>
<dependency> scm:git:https://github.com/yexuejc/yexuejc-base.git
<groupId>javax.validation</groupId> </developerConnection>
<artifactId>validation-api</artifactId> <url>https://github.com/yexuejc/yexuejc-base</url>
<version>${validation-api.version}</version> </scm>
</dependency>
<!--base64使用到的依赖--> <properties>
<dependency> <repos.yexuejc.url>https://nexus.yexuejc.club/repository/</repos.yexuejc.url>
<groupId>commons-codec</groupId> <repos.aliyun.url>http://maven.aliyun.com/nexus/content/groups/public</repos.aliyun.url>
<artifactId>commons-codec</artifactId> <repos.jitpack.url>https://jitpack.io</repos.jitpack.url>
<version>${commons-codec.version}</version> <jjwt.version>0.7.0</jjwt.version>
<scope>compile</scope> <maven.compiler.verbose>true</maven.compiler.verbose>
</dependency> <java.version>1.8</java.version>
<!--IOUtils使用到的依赖--> <validation-api.version>1.1.0.Final</validation-api.version>
<dependency> <commons-codec.version>1.10</commons-codec.version>
<groupId>commons-io</groupId> <commons-io.version>2.6</commons-io.version>
<artifactId>commons-io</artifactId> <bcprov-jdk15on.version>1.60</bcprov-jdk15on.version>
<version>${commons-io.version}</version> <guava.version>20.0</guava.version>
</dependency> </properties>
<!--支持大量的密码术算法并提供JCE 1.2.1的实现-->
<dependency> <dependencies>
<groupId>org.bouncycastle</groupId> <!-- JJWT -->
<artifactId>bcprov-jdk15on</artifactId> <dependency>
<version>${bcprov-jdk15on.version}</version> <groupId>io.jsonwebtoken</groupId>
</dependency> <artifactId>jjwt</artifactId>
<!--com.yexuejc.base.util.SysUtil.threadRun 异步处理代码--> <version>${jjwt.version}</version>
<dependency> </dependency>
<groupId>com.google.guava</groupId> <!-- 数据校验框架 -->
<artifactId>guava</artifactId> <dependency>
<version>${guava.version}</version> <groupId>javax.validation</groupId>
</dependency> <artifactId>validation-api</artifactId>
</dependencies> <version>${validation-api.version}</version>
</dependency>
<!--base64使用到的依赖-->
<build> <dependency>
<finalName>${project.artifactId}</finalName> <groupId>commons-codec</groupId>
<plugins> <artifactId>commons-codec</artifactId>
<plugin> <version>${commons-codec.version}</version>
<groupId>org.apache.maven.plugins</groupId> <scope>compile</scope>
<artifactId>maven-compiler-plugin</artifactId> </dependency>
<configuration> <!--IOUtils使用到的依赖-->
<encoding>UTF-8</encoding> <dependency>
<source>8</source> <groupId>commons-io</groupId>
<target>8</target> <artifactId>commons-io</artifactId>
</configuration> <version>${commons-io.version}</version>
</plugin> </dependency>
<!-- 打包源码 --> <!--支持大量的密码术算法并提供JCE 1.2.1的实现-->
<plugin> <dependency>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.bouncycastle</groupId>
<artifactId>maven-source-plugin</artifactId> <artifactId>bcprov-jdk15on</artifactId>
<version>3.0.1</version> <version>${bcprov-jdk15on.version}</version>
<executions> </dependency>
<execution> <!--com.yexuejc.base.util.SysUtil.threadRun 异步处理代码-->
<id>attach-sources</id> <dependency>
<goals> <groupId>com.google.guava</groupId>
<goal>jar-no-fork</goal> <artifactId>guava</artifactId>
</goals> <version>${guava.version}</version>
</execution> </dependency>
</executions> </dependencies>
</plugin>
<!-- 使用spring boot的maven插件进行打包 -->
<plugin> <build>
<groupId>org.springframework.boot</groupId> <finalName>${project.artifactId}</finalName>
<artifactId>spring-boot-maven-plugin</artifactId> <plugins>
<executions> <plugin>
<execution> <groupId>org.apache.maven.plugins</groupId>
<goals> <artifactId>maven-compiler-plugin</artifactId>
<goal>build-info</goal> <configuration>
</goals> <encoding>UTF-8</encoding>
</execution> <source>8</source>
</executions> <target>8</target>
<configuration> </configuration>
<!-- 是否打出可执行的jar包(仅支持Linux格式) --> </plugin>
<executable>true</executable> <!-- 打包源码 -->
</configuration> <plugin>
</plugin> <groupId>org.apache.maven.plugins</groupId>
</plugins> <artifactId>maven-source-plugin</artifactId>
</build> <version>3.0.1</version>
<repositories> <executions>
<repository> <execution>
<id>yexuejc-nexus-public</id> <id>attach-sources</id>
<name>yexuejc-nexus-public</name> <goals>
<url>${repos.yexuejc.url}maven-public/</url> <goal>jar-no-fork</goal>
</repository> </goals>
<repository> </execution>
<id>aliyun-nexus-public</id> </executions>
<name>aliyun-nexus-public</name> </plugin>
<url>${repos.aliyun.url}</url> <!-- 使用spring boot的maven插件进行打包 -->
</repository> <plugin>
<repository> <groupId>org.springframework.boot</groupId>
<id>jitpack.io</id> <artifactId>spring-boot-maven-plugin</artifactId>
<url>${repos.jitpack.url}</url> <executions>
</repository> <execution>
</repositories> <goals>
<!-- 中间件jar包发布目标 --> <goal>build-info</goal>
<distributionManagement> </goals>
<repository> </execution>
<id>releases</id> </executions>
<name>nexus-release</name> <configuration>
<url>${repos.yexuejc.url}maven-releases/</url> <!-- 是否打出可执行的jar包(仅支持Linux格式) -->
</repository> <executable>true</executable>
<snapshotRepository> </configuration>
<id>snapshots</id> </plugin>
<name>nexus-snapshots</name> <!-- Javadoc -->
<url>${repos.yexuejc.url}maven-snapshots/</url> <!--<plugin>-->
</snapshotRepository> <!--<groupId>org.apache.maven.plugins</groupId>-->
</distributionManagement> <!--<artifactId>maven-javadoc-plugin</artifactId>-->
<!--<executions>-->
<!--<execution>-->
<!--<phase>package</phase>-->
<!--<goals>-->
<!--<goal>jar</goal>-->
<!--</goals>-->
<!--</execution>-->
<!--</executions>-->
<!--</plugin>-->
<!-- GPG -->
<plugin> <!-- 进行延签 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>yexuejc-nexus-public</id>
<name>yexuejc-nexus-public</name>
<url>${repos.yexuejc.url}maven-public/</url>
</repository>
<repository>
<id>aliyun-nexus-public</id>
<name>aliyun-nexus-public</name>
<url>${repos.aliyun.url}</url>
</repository>
<repository>
<id>jitpack.io</id>
<url>${repos.jitpack.url}</url>
</repository>
</repositories>
<!-- 中间件jar包发布目标 -->
<distributionManagement>
<!--中央仓库发布-->
<snapshotRepository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>sonatype-nexus-staging</id>
<name>Nexus Release Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
<!-- 私服仓库发布
<repository>
<id>releases</id>
<name>nexus-release</name>
<url>${repos.yexuejc.url}maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>nexus-snapshots</name>
<url>${repos.yexuejc.url}maven-snapshots/</url>
</snapshotRepository>
-->
</distributionManagement>
<profiles>
<profile>
<id>sonatype-oss-release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project> </project>