2
0
MaxKey 4 жил өмнө
parent
commit
f13edc52bd
38 өөрчлөгдсөн 664 нэмэгдсэн , 555 устгасан
  1. 124 123
      build.gradle
  2. 120 121
      config/build_docker.gradle
  3. 120 121
      config/build_jar.gradle
  4. 120 121
      config/build_standard.gradle
  5. 120 12
      gradle.properties
  6. 2 2
      maxkey-authentications/maxkey-authentication-social/src/main/java/org/maxkey/authn/support/socialsignon/service/SocialsAssociate.java
  7. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Accounts.java
  8. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/ChangePassword.java
  9. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/ExcelImport.java
  10. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Groups.java
  11. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/HistoryLogin.java
  12. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/HistoryLoginApps.java
  13. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/HistoryLogs.java
  14. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Navigations.java
  15. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Notices.java
  16. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Organizations.java
  17. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/PasswordPolicy.java
  18. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Registration.java
  19. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Resources.java
  20. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/RolePermissions.java
  21. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Roles.java
  22. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/Saml20Metadata.java
  23. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/UserInfo.java
  24. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/UserInfoAdjoint.java
  25. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/apps/Apps.java
  26. 2 2
      maxkey-core/src/main/java/org/maxkey/entity/apps/AppsAdapters.java
  27. 3 2
      maxkey-core/src/main/java/org/maxkey/entity/xml/UserInfoXML.java
  28. 2 2
      maxkey-core/src/main/java/org/maxkey/web/BasicController.java
  29. BIN
      maxkey-lib/mybatis-jpa-extra-2.3.jar
  30. BIN
      maxkey-lib/mybatis-jpa-extra-spring-boot-starter-2.3.jar
  31. 2 2
      maxkey-persistence/src/main/java/org/maxkey/persistence/mapper/ReportMapper.java
  32. 1 0
      maxkey-persistence/src/main/java/org/maxkey/persistence/service/OrganizationsService.java
  33. 2 2
      maxkey-persistence/src/main/java/org/maxkey/persistence/service/ReportService.java
  34. 3 2
      maxkey-web-manage/src/main/resources/application.properties
  35. 0 2
      maxkey-web-manage/src/main/resources/maxkey.properties
  36. 2 1
      maxkey-web-maxkey/src/main/resources/application-http.properties
  37. 2 1
      maxkey-web-maxkey/src/main/resources/application-https.properties
  38. 1 1
      maxkey-web-maxkey/src/main/resources/application.properties

+ 124 - 123
build.gradle

@@ -104,7 +104,9 @@ subprojects {
 	
 	repositories {  
         mavenLocal()
-        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'}
+        maven { url "https://maven.aliyun.com/repository/central/"}
+        maven { url "https://maven.aliyun.com/repository/public/"}
+        maven { url "https://maven.aliyun.com/repository/spring/"}
         maven { url "https://repo.spring.io/plugins-release/" }
         maven { url "https://repo.spring.io/milestone" }
         maven { url "https://repo1.maven.org/maven2/" }
@@ -120,49 +122,53 @@ subprojects {
     }  
 	
 	//all dependencies
-	dependencies {  
+	dependencies {
+		
 		//for Test and Compile
-		 testImplementation 'junit:junit:4.11' 
-    	 compileOnly 'junit:junit:4.11' 
-         testImplementation group: 'org.mockito', name: 'mockito-all', version: '1.10.19'
-         testImplementation group: 'xmlunit', name: 'xmlunit', version: '1.6'
+		 testImplementation group: 'junit', name: 'junit', version: "${junitVersion}"
+    	 compileOnly group: 'junit', name: 'junit', version: "${junitVersion}"
+         testImplementation group: 'org.mockito', name: 'mockito-all', version: "${mockitoallVersion}"
+         testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
 
          //apache
-         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.3'
-         implementation  group: 'commons-codec', name: 'commons-codec', version: '1.15'
-         implementation  group: 'commons-collections', name: 'commons-collections', version: '3.2.2'
-         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: '4.4'
-         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: '1.7'
-         implementation  group: 'org.apache.commons', name: 'commons-text', version: '1.9'
-         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.6.0'
-         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: '1.7'
-         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: '3.2'
-         implementation  group: 'commons-digester', name: 'commons-digester', version: '2.1'
-         implementation  group: 'commons-io', name: 'commons-io', version: '2.8.0'
-         implementation  group: 'commons-lang', name: 'commons-lang', version: '2.6'
-         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: '3.11'
-         implementation  group: 'commons-logging', name: 'commons-logging', version: '1.2'
-         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: '2.6.2'
-         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: '3.1'
-         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: '1.4'
-         implementation  group: 'org.apache.commons', name: 'commons-email', version: '1.5'
+         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
+         implementation  group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
+         implementation  group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
+         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
+         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
+         implementation  group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
+         implementation  group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
+         implementation  group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
+         implementation  group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
+         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
+         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.13'
-         implementation  group: 'org.apache.velocity', name: 'velocity', version: '1.7'
-         implementation  group: 'velocity', name: 'velocity-dep', version: '1.4'
-         implementation  group: 'org.freemarker', name: 'freemarker', version: '2.3.31'
-         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '3.0.1'
-         implementation  group: 'org.apache.commons', name: 'commons-compress', version: '1.20'
+         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
+         implementation  group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
+         implementation  group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
+         implementation  group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
+         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
          implementation  group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
-         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: '0.3.9'
-         
-		//logs
+         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
+         //tomcat embed Core Tomcat implementation
+    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
+    	 //JULI logging implementation for embedded Tomcat
+    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
+   		 //apache logs
          implementation  group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
          implementation  group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
@@ -170,8 +176,9 @@ subprojects {
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
+		//logs
          implementation  group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
-         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: '3.4.1.Final'
+         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
 		 //spring
          implementation  group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
          implementation  group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
@@ -197,11 +204,11 @@ subprojects {
 		 
 		 //kafka support
 		 // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
-		 implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: '2.6.1'
+		 implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
 		 // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
-		 implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: '2.6.6'
+		 implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
 		 // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
-		 implementation  group: 'org.springframework.retry', name: 'spring-retry', version: '1.3.0'
+		 implementation  group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
 		 
          //spring-security
          implementation  group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
@@ -228,102 +235,105 @@ subprojects {
          implementation  group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
          implementation  group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
          
-         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: '2.0.0.RELEASE'
-         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: '2.0.0.RELEASE'
-         
+         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
+         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
          //saml 
-         implementation  group: 'org.opensaml', name: 'opensaml', version: '2.6.6'
-         implementation  group: 'org.opensaml', name: 'openws', version: '1.5.6'
-         implementation  group: 'org.opensaml', name: 'xmltooling', version: '1.4.6'
-         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: '7.5.1'
-		 //jose-jwt
-         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: '9.4.1'
-         implementation  group: 'net.jcip', name: 'jcip-annotations', version: '1.0'
-         implementation  group: 'net.minidev', name: 'json-smart', version: '2.3'
-         implementation  group: 'net.minidev', name: 'asm', version: '1.0.2'
+         implementation  group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
+         implementation  group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
+         implementation  group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
+         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
+         //jose-jwt
+         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
+         implementation  group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
+         implementation  group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
+         implementation  group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
          //oauth third party JustAuth
-         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: '1.0.3'
-         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: '1.15.9'
+         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
+         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
          //common
-         implementation  group: 'org.javassist', name: 'javassist', version: '3.23.0-GA'
-         implementation  group: 'org.owasp.esapi', name: 'esapi', version: '2.2.0.0'
-         implementation  group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'
+         implementation  group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
+         implementation  group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
+         implementation  group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
          // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence
          // for mybatis-jpa-extra
-         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.2.1'
-         implementation  group: 'javax.activation', name: 'activation', version: '1.1.1'
-         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
-         implementation  group: 'javax.transaction', name: 'jta', version: '1.1'
-         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: '1.3'
-         implementation  group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final'
-         implementation  group: 'javax.xml', name: 'jsr173', version: '1.0'
-		 implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.3.0.1'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '2.3.2'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: '2.3.2'
+         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
+         implementation  group: 'javax.activation', name: 'activation', version: "${activationVersion}"
+         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
+         implementation  group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
+         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
+         implementation  group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
+         implementation  group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
+		 implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
          //crypto
          implementation  group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
          implementation  group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
          implementation  group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'com.google.crypto.tink', name: 'tink', version: '1.4.0'
+         //google
+         implementation  group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
          //kaptcha
-         implementation  group: 'com.jhlabs', name: 'filters', version: '2.0.235-1'
-         implementation  group: 'com.github.penggle', name: 'kaptcha', version: '2.3.2'
+         implementation  group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
+         implementation  group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
          //json
-         implementation  group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         
-         implementation  group: 'com.fasterxml', name: 'classmate', version: '1.5.0'
-		 implementation  group: 'com.alibaba', name: 'fastjson', version: '1.2.74'
+         implementation  group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
          //reactive
-         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: '1.0.2'
-         implementation  group: 'io.projectreactor', name: 'reactor-core', version: '3.2.10.RELEASE'
-         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: '0.2'
+         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
+         implementation  group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
+         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
          //quartz
-         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.2'
+         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
 		 //database
-		 implementation  group: 'mysql', name: 'mysql-connector-java', version: '8.0.21'
-		 implementation  group: 'com.alibaba', name: 'druid', version: '1.2.5'
-		 implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: '1.2.5'
-         implementation  group: 'redis.clients', name: 'jedis', version: '3.4.1'
-         implementation  group: 'org.ehcache', name: 'ehcache', version: '3.9.0'
+		 implementation  group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
+		 implementation  group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
+		 implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
+         implementation  group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
+         implementation  group: 'org.ehcache', name: 'ehcache', version: "${ehcacheVersion}"
 		 //mybatis
-         implementation  group: 'org.mybatis', name: 'mybatis', version: '3.5.6'
-         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: '2.0.6'
+         implementation  group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
+         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
 		 //hibernate
          implementation  group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
          implementation  group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
          implementation  group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
          //usefull
-         implementation  group: 'joda-time', name: 'joda-time', version: '2.10.9'
-         implementation  group: 'org.yaml', name: 'snakeyaml', version: '1.26'
-         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: '1.9.22'
-         implementation  group: 'org.jdom', name: 'jdom', version: '2.0.2'
-         implementation  group: 'com.google.zxing', name: 'core', version: '3.4.1'
-         implementation  group: 'com.google.guava', name: 'guava', version: '30.1-jre'
-         implementation  group: 'ognl', name: 'ognl', version: '3.2.14'
-         implementation  group: 'cglib', name: 'cglib', version: '3.3.0'
-         implementation  group: 'org.ow2.asm', name: 'asm', version: '7.3.1'
-         implementation  group: 'aopalliance', name: 'aopalliance', version: '1.0'
-         implementation  group: 'org.aspectj', name: 'aspectjtools', version: '1.9.4'
-         implementation  group: 'dom4j', name: 'dom4j', version: '1.6.1'
-		 implementation  group: 'xalan', name: 'serializer', version: '2.7.2'
-		 implementation  group: 'xml-resolver', name: 'xml-resolver', version: '1.2'
-		 implementation  group: 'org.apache.santuario', name: 'xmlsec', version: '1.5.8'
-		 implementation  group: 'org.ogce', name: 'xpp3', version: '1.1.6'
-		 implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.10'
-		 implementation  group: 'org.passay', name: 'passay', version: '1.6.0'
-		 implementation  group: 'io.micrometer', name: 'micrometer-core', version: '1.6.4'
-		 implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: '2.0.3'
-		 implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: '4.2.1'
-		 		 
+         implementation  group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
+         implementation  group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
+         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
+         implementation  group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
+         implementation  group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
+         implementation  group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
+         implementation  group: 'ognl', name: 'ognl', version: "${ognlVersion}"
+         implementation  group: 'cglib', name: 'cglib', version: "${cglibVersion}"
+         implementation  group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
+         implementation  group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
+         implementation  group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
+         implementation  group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
+		 implementation  group: 'xalan', name: 'serializer', version: "${serializerVersion}"
+		 implementation  group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
+		 implementation  group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
+		 implementation  group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
+		 implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
+		 implementation  group: 'org.passay', name: 'passay', version: "${passayVersion}"
+		 implementation  group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
+		 implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
+		 implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
+		  //阿里云
+    	 implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
+    	 //腾讯云
+    	 implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
+         //json
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
+		 implementation  group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
 		 //docs
-		 implementation  group: 'org.mapstruct', name: 'mapstruct', version: '1.4.1.Final'
+		 implementation  group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
 		 implementation  group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
 		 implementation  group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
 		 implementation  group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
@@ -352,18 +362,9 @@ subprojects {
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-ui', version: "${knife4jVersion}"
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-starter', version: "${knife4jVersion}"
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-autoconfigure', version: "${knife4jVersion}"
-		 		 
-    	 //local jars
+   		
+   		 //local jars
     	 implementation fileTree(dir: "${rootDir}/maxkey-lib/", include: '*.jar')
-    	 //阿里云
-    	 implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: '4.5.1'
-    	 //腾讯云
-    	 implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: '3.1.33'
-    	 
-    	 //tomcat embed Core Tomcat implementation
-    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
-    	 //JULI logging implementation for embedded Tomcat
-    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: '8.5.2'
     }
     
     jar {  

+ 120 - 121
config/build_docker.gradle

@@ -121,46 +121,50 @@ subprojects {
 	//all dependencies
 	dependencies {  
 		//for Test and Compile
-		 testImplementation 'junit:junit:4.11' 
-    	 compileOnly 'junit:junit:4.11'  
-         testImplementation group: 'org.mockito', name: 'mockito-all', version: '1.10.19'
-         testImplementation group: 'xmlunit', name: 'xmlunit', version: '1.6'
+		 testImplementation group: 'junit', name: 'junit', version: "${junitVersion}"
+    	 compileOnly group: 'junit', name: 'junit', version: "${junitVersion}"
+         testImplementation group: 'org.mockito', name: 'mockito-all', version: "${mockitoallVersion}"
+         testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
+
          //apache
-         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.3'
-         implementation  group: 'commons-codec', name: 'commons-codec', version: '1.15'
-         implementation  group: 'commons-collections', name: 'commons-collections', version: '3.2.2'
-         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: '4.4'
-         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: '1.7'
-         implementation  group: 'org.apache.commons', name: 'commons-text', version: '1.9'
-         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.6.0'
-         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: '1.7'
-         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: '3.2'
-         implementation  group: 'commons-digester', name: 'commons-digester', version: '2.1'
-         implementation  group: 'commons-io', name: 'commons-io', version: '2.8.0'
-         implementation  group: 'commons-lang', name: 'commons-lang', version: '2.6'
-         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: '3.11'
-         implementation  group: 'commons-logging', name: 'commons-logging', version: '1.2'
-         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: '2.6.2'
-         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: '3.1'
-         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: '1.4'
-         implementation  group: 'org.apache.commons', name: 'commons-email', version: '1.5'
+         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
+         implementation  group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
+         implementation  group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
+         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
+         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
+         implementation  group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
+         implementation  group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
+         implementation  group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
+         implementation  group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
+         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
+         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.13'
-         implementation  group: 'org.apache.velocity', name: 'velocity', version: '1.7'
-         implementation  group: 'velocity', name: 'velocity-dep', version: '1.4'
-         implementation  group: 'org.freemarker', name: 'freemarker', version: '2.3.31'
-         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '3.0.1'
-         implementation  group: 'org.apache.commons', name: 'commons-compress', version: '1.20'
+         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
+         implementation  group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
+         implementation  group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
+         implementation  group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
+         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
          implementation  group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
-         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: '0.3.9'
-         
-		//logs
+         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
+         //tomcat embed Core Tomcat implementation
+    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
+    	 //JULI logging implementation for embedded Tomcat
+    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
+   		 //apache logs
          implementation  group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
          implementation  group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
@@ -168,8 +172,9 @@ subprojects {
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
+		//logs
          implementation  group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
-         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: '3.4.1.Final'
+         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
 		 //spring
          implementation  group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
          implementation  group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
@@ -195,11 +200,11 @@ subprojects {
 		 
 		 //kafka support
 		 // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
-		 implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: '2.6.1'
+		 implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
 		 // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
-		 implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: '2.6.6'
+		 implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
 		 // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
-		 implementation  group: 'org.springframework.retry', name: 'spring-retry', version: '1.3.0'
+		 implementation  group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
 		 
          //spring-security
          implementation  group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
@@ -226,102 +231,105 @@ subprojects {
          implementation  group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
          implementation  group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
          
-         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: '2.0.0.RELEASE'
-         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: '2.0.0.RELEASE'
-         
+         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
+         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
          //saml 
-         implementation  group: 'org.opensaml', name: 'opensaml', version: '2.6.6'
-         implementation  group: 'org.opensaml', name: 'openws', version: '1.5.6'
-         implementation  group: 'org.opensaml', name: 'xmltooling', version: '1.4.6'
-         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: '7.5.1'
-		 //jose-jwt
-         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: '9.4.1'
-         implementation  group: 'net.jcip', name: 'jcip-annotations', version: '1.0'
-         implementation  group: 'net.minidev', name: 'json-smart', version: '2.3'
-         implementation  group: 'net.minidev', name: 'asm', version: '1.0.2'
+         implementation  group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
+         implementation  group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
+         implementation  group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
+         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
+         //jose-jwt
+         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
+         implementation  group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
+         implementation  group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
+         implementation  group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
          //oauth third party JustAuth
-         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: '1.0.3'
-         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: '1.15.9'
+         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
+         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
          //common
-         implementation  group: 'org.javassist', name: 'javassist', version: '3.23.0-GA'
-         implementation  group: 'org.owasp.esapi', name: 'esapi', version: '2.2.0.0'
-         implementation  group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'
+         implementation  group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
+         implementation  group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
+         implementation  group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
          // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence
          // for mybatis-jpa-extra
-         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.2.1'
-         implementation  group: 'javax.activation', name: 'activation', version: '1.1.1'
-         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
-         implementation  group: 'javax.transaction', name: 'jta', version: '1.1'
-         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: '1.3'
-         implementation  group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final'
-         implementation  group: 'javax.xml', name: 'jsr173', version: '1.0'
-		 implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.3.0.1'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '2.3.2'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: '2.3.2'
+         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
+         implementation  group: 'javax.activation', name: 'activation', version: "${activationVersion}"
+         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
+         implementation  group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
+         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
+         implementation  group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
+         implementation  group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
+		 implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
          //crypto
          implementation  group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
          implementation  group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
          implementation  group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'com.google.crypto.tink', name: 'tink', version: '1.4.0'
+         //google
+         implementation  group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
          //kaptcha
-         implementation  group: 'com.jhlabs', name: 'filters', version: '2.0.235-1'
-         implementation  group: 'com.github.penggle', name: 'kaptcha', version: '2.3.2'
+         implementation  group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
+         implementation  group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
          //json
-         implementation  group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         
-         implementation  group: 'com.fasterxml', name: 'classmate', version: '1.5.0'
-		 implementation  group: 'com.alibaba', name: 'fastjson', version: '1.2.74'
+         implementation  group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
          //reactive
-         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: '1.0.2'
-         implementation  group: 'io.projectreactor', name: 'reactor-core', version: '3.2.10.RELEASE'
-         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: '0.2'
+         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
+         implementation  group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
+         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
          //quartz
-         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.2'
+         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
 		 //database
-		 implementation  group: 'mysql', name: 'mysql-connector-java', version: '8.0.21'
-		 implementation  group: 'com.alibaba', name: 'druid', version: '1.2.5'
-		 implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: '1.2.5'
-         implementation  group: 'redis.clients', name: 'jedis', version: '3.4.1'
-         implementation  group: 'org.ehcache', name: 'ehcache', version: '3.9.0'
+		 implementation  group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
+		 implementation  group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
+		 implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
+         implementation  group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
+         implementation  group: 'org.ehcache', name: 'ehcache', version: "${ehcacheVersion}"
 		 //mybatis
-         implementation  group: 'org.mybatis', name: 'mybatis', version: '3.5.6'
-         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: '2.0.6'
+         implementation  group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
+         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
 		 //hibernate
          implementation  group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
          implementation  group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
          implementation  group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
          //usefull
-         implementation  group: 'joda-time', name: 'joda-time', version: '2.10.9'
-         implementation  group: 'org.yaml', name: 'snakeyaml', version: '1.26'
-         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: '1.9.22'
-         implementation  group: 'org.jdom', name: 'jdom', version: '2.0.2'
-         implementation  group: 'com.google.zxing', name: 'core', version: '3.4.1'
-         implementation  group: 'com.google.guava', name: 'guava', version: '30.1-jre'
-         implementation  group: 'ognl', name: 'ognl', version: '3.2.14'
-         implementation  group: 'cglib', name: 'cglib', version: '3.3.0'
-         implementation  group: 'org.ow2.asm', name: 'asm', version: '7.3.1'
-         implementation  group: 'aopalliance', name: 'aopalliance', version: '1.0'
-         implementation  group: 'org.aspectj', name: 'aspectjtools', version: '1.9.4'
-         implementation  group: 'dom4j', name: 'dom4j', version: '1.6.1'
-		 implementation  group: 'xalan', name: 'serializer', version: '2.7.2'
-		 implementation  group: 'xml-resolver', name: 'xml-resolver', version: '1.2'
-		 implementation  group: 'org.apache.santuario', name: 'xmlsec', version: '1.5.8'
-		 implementation  group: 'org.ogce', name: 'xpp3', version: '1.1.6'
-		 implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.10'
-		 implementation  group: 'org.passay', name: 'passay', version: '1.6.0'
-		 implementation  group: 'io.micrometer', name: 'micrometer-core', version: '1.6.4'
-		 implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: '2.0.3'
-		 implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: '4.2.1'
-		 		 
+         implementation  group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
+         implementation  group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
+         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
+         implementation  group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
+         implementation  group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
+         implementation  group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
+         implementation  group: 'ognl', name: 'ognl', version: "${ognlVersion}"
+         implementation  group: 'cglib', name: 'cglib', version: "${cglibVersion}"
+         implementation  group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
+         implementation  group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
+         implementation  group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
+         implementation  group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
+		 implementation  group: 'xalan', name: 'serializer', version: "${serializerVersion}"
+		 implementation  group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
+		 implementation  group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
+		 implementation  group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
+		 implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
+		 implementation  group: 'org.passay', name: 'passay', version: "${passayVersion}"
+		 implementation  group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
+		 implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
+		 implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
+		  //阿里云
+    	 implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
+    	 //腾讯云
+    	 implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
+         //json
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
+		 implementation  group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
 		 //docs
-		 implementation  group: 'org.mapstruct', name: 'mapstruct', version: '1.4.1.Final'
+		 implementation  group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
 		 implementation  group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
 		 implementation  group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
 		 implementation  group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
@@ -350,18 +358,9 @@ subprojects {
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-ui', version: "${knife4jVersion}"
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-starter', version: "${knife4jVersion}"
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-autoconfigure', version: "${knife4jVersion}"
-		 		 
-    	 //local jars
+   		
+   		 //local jars
     	 implementation fileTree(dir: "${rootDir}/maxkey-lib/", include: '*.jar')
-    	 //阿里云
-    	 implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: '4.5.1'
-    	 //腾讯云
-    	 implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: '3.1.33'
-    	 
-    	 //tomcat embed Core Tomcat implementation
-    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
-    	 //JULI logging implementation for embedded Tomcat
-    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: '8.5.2'
     }
     
     jar {  

+ 120 - 121
config/build_jar.gradle

@@ -121,46 +121,50 @@ subprojects {
 	//all dependencies
 	dependencies {  
 		//for Test and Compile
-		 testImplementation 'junit:junit:4.11' 
-    	 compileOnly 'junit:junit:4.11'  
-         testImplementation group: 'org.mockito', name: 'mockito-all', version: '1.10.19'
-         testImplementation group: 'xmlunit', name: 'xmlunit', version: '1.6'
+		 testImplementation group: 'junit', name: 'junit', version: "${junitVersion}"
+    	 compileOnly group: 'junit', name: 'junit', version: "${junitVersion}"
+         testImplementation group: 'org.mockito', name: 'mockito-all', version: "${mockitoallVersion}"
+         testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
+
          //apache
-         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.3'
-         implementation  group: 'commons-codec', name: 'commons-codec', version: '1.15'
-         implementation  group: 'commons-collections', name: 'commons-collections', version: '3.2.2'
-         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: '4.4'
-         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: '1.7'
-         implementation  group: 'org.apache.commons', name: 'commons-text', version: '1.9'
-         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.6.0'
-         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: '1.7'
-         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: '3.2'
-         implementation  group: 'commons-digester', name: 'commons-digester', version: '2.1'
-         implementation  group: 'commons-io', name: 'commons-io', version: '2.8.0'
-         implementation  group: 'commons-lang', name: 'commons-lang', version: '2.6'
-         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: '3.11'
-         implementation  group: 'commons-logging', name: 'commons-logging', version: '1.2'
-         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: '2.6.2'
-         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: '3.1'
-         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: '1.4'
-         implementation  group: 'org.apache.commons', name: 'commons-email', version: '1.5'
+         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
+         implementation  group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
+         implementation  group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
+         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
+         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
+         implementation  group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
+         implementation  group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
+         implementation  group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
+         implementation  group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
+         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
+         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.13'
-         implementation  group: 'org.apache.velocity', name: 'velocity', version: '1.7'
-         implementation  group: 'velocity', name: 'velocity-dep', version: '1.4'
-         implementation  group: 'org.freemarker', name: 'freemarker', version: '2.3.31'
-         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '3.0.1'
-         implementation  group: 'org.apache.commons', name: 'commons-compress', version: '1.20'
+         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
+         implementation  group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
+         implementation  group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
+         implementation  group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
+         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
          implementation  group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
-         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: '0.3.9'
-         
-		//logs
+         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
+         //tomcat embed Core Tomcat implementation
+    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
+    	 //JULI logging implementation for embedded Tomcat
+    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
+   		 //apache logs
          implementation  group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
          implementation  group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
@@ -168,8 +172,9 @@ subprojects {
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
+		//logs
          implementation  group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
-         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: '3.4.1.Final'
+         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
 		 //spring
          implementation  group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
          implementation  group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
@@ -195,11 +200,11 @@ subprojects {
 		 
 		 //kafka support
 		 // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
-		 implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: '2.6.1'
+		 implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
 		 // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
-		 implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: '2.6.6'
+		 implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
 		 // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
-		 implementation  group: 'org.springframework.retry', name: 'spring-retry', version: '1.3.0'
+		 implementation  group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
 		 
          //spring-security
          implementation  group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
@@ -226,102 +231,105 @@ subprojects {
          implementation  group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
          implementation  group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
          
-         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: '2.0.0.RELEASE'
-         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: '2.0.0.RELEASE'
-         
+         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
+         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
          //saml 
-         implementation  group: 'org.opensaml', name: 'opensaml', version: '2.6.6'
-         implementation  group: 'org.opensaml', name: 'openws', version: '1.5.6'
-         implementation  group: 'org.opensaml', name: 'xmltooling', version: '1.4.6'
-         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: '7.5.1'
-		 //jose-jwt
-         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: '9.4.1'
-         implementation  group: 'net.jcip', name: 'jcip-annotations', version: '1.0'
-         implementation  group: 'net.minidev', name: 'json-smart', version: '2.3'
-         implementation  group: 'net.minidev', name: 'asm', version: '1.0.2'
+         implementation  group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
+         implementation  group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
+         implementation  group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
+         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
+         //jose-jwt
+         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
+         implementation  group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
+         implementation  group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
+         implementation  group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
          //oauth third party JustAuth
-         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: '1.0.3'
-         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: '1.15.9'
+         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
+         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
          //common
-         implementation  group: 'org.javassist', name: 'javassist', version: '3.23.0-GA'
-         implementation  group: 'org.owasp.esapi', name: 'esapi', version: '2.2.0.0'
-         implementation  group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'
+         implementation  group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
+         implementation  group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
+         implementation  group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
          // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence
          // for mybatis-jpa-extra
-         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.2.1'
-         implementation  group: 'javax.activation', name: 'activation', version: '1.1.1'
-         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
-         implementation  group: 'javax.transaction', name: 'jta', version: '1.1'
-         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: '1.3'
-         implementation  group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final'
-         implementation  group: 'javax.xml', name: 'jsr173', version: '1.0'
-		 implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.3.0.1'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '2.3.2'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: '2.3.2'
+         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
+         implementation  group: 'javax.activation', name: 'activation', version: "${activationVersion}"
+         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
+         implementation  group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
+         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
+         implementation  group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
+         implementation  group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
+		 implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
          //crypto
          implementation  group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
          implementation  group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
          implementation  group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'com.google.crypto.tink', name: 'tink', version: '1.4.0'
+         //google
+         implementation  group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
          //kaptcha
-         implementation  group: 'com.jhlabs', name: 'filters', version: '2.0.235-1'
-         implementation  group: 'com.github.penggle', name: 'kaptcha', version: '2.3.2'
+         implementation  group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
+         implementation  group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
          //json
-         implementation  group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         
-         implementation  group: 'com.fasterxml', name: 'classmate', version: '1.5.0'
-		 implementation  group: 'com.alibaba', name: 'fastjson', version: '1.2.74'
+         implementation  group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
          //reactive
-         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: '1.0.2'
-         implementation  group: 'io.projectreactor', name: 'reactor-core', version: '3.2.10.RELEASE'
-         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: '0.2'
+         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
+         implementation  group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
+         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
          //quartz
-         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.2'
+         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
 		 //database
-		 implementation  group: 'mysql', name: 'mysql-connector-java', version: '8.0.21'
-		 implementation  group: 'com.alibaba', name: 'druid', version: '1.2.5'
-		 implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: '1.2.5'
-         implementation  group: 'redis.clients', name: 'jedis', version: '3.4.1'
-         implementation  group: 'org.ehcache', name: 'ehcache', version: '3.9.0'
+		 implementation  group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
+		 implementation  group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
+		 implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
+         implementation  group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
+         implementation  group: 'org.ehcache', name: 'ehcache', version: "${ehcacheVersion}"
 		 //mybatis
-         implementation  group: 'org.mybatis', name: 'mybatis', version: '3.5.6'
-         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: '2.0.6'
+         implementation  group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
+         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
 		 //hibernate
          implementation  group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
          implementation  group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
          implementation  group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
          //usefull
-         implementation  group: 'joda-time', name: 'joda-time', version: '2.10.9'
-         implementation  group: 'org.yaml', name: 'snakeyaml', version: '1.26'
-         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: '1.9.22'
-         implementation  group: 'org.jdom', name: 'jdom', version: '2.0.2'
-         implementation  group: 'com.google.zxing', name: 'core', version: '3.4.1'
-         implementation  group: 'com.google.guava', name: 'guava', version: '30.1-jre'
-         implementation  group: 'ognl', name: 'ognl', version: '3.2.14'
-         implementation  group: 'cglib', name: 'cglib', version: '3.3.0'
-         implementation  group: 'org.ow2.asm', name: 'asm', version: '7.3.1'
-         implementation  group: 'aopalliance', name: 'aopalliance', version: '1.0'
-         implementation  group: 'org.aspectj', name: 'aspectjtools', version: '1.9.4'
-         implementation  group: 'dom4j', name: 'dom4j', version: '1.6.1'
-		 implementation  group: 'xalan', name: 'serializer', version: '2.7.2'
-		 implementation  group: 'xml-resolver', name: 'xml-resolver', version: '1.2'
-		 implementation  group: 'org.apache.santuario', name: 'xmlsec', version: '1.5.8'
-		 implementation  group: 'org.ogce', name: 'xpp3', version: '1.1.6'
-		 implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.10'
-		 implementation  group: 'org.passay', name: 'passay', version: '1.6.0'
-		 implementation  group: 'io.micrometer', name: 'micrometer-core', version: '1.6.4'
-		 implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: '2.0.3'
-		 implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: '4.2.1'
-		 		 
+         implementation  group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
+         implementation  group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
+         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
+         implementation  group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
+         implementation  group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
+         implementation  group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
+         implementation  group: 'ognl', name: 'ognl', version: "${ognlVersion}"
+         implementation  group: 'cglib', name: 'cglib', version: "${cglibVersion}"
+         implementation  group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
+         implementation  group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
+         implementation  group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
+         implementation  group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
+		 implementation  group: 'xalan', name: 'serializer', version: "${serializerVersion}"
+		 implementation  group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
+		 implementation  group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
+		 implementation  group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
+		 implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
+		 implementation  group: 'org.passay', name: 'passay', version: "${passayVersion}"
+		 implementation  group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
+		 implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
+		 implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
+		  //阿里云
+    	 implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
+    	 //腾讯云
+    	 implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
+         //json
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
+		 implementation  group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
 		 //docs
-		 implementation  group: 'org.mapstruct', name: 'mapstruct', version: '1.4.1.Final'
+		 implementation  group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
 		 implementation  group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
 		 implementation  group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
 		 implementation  group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
@@ -350,18 +358,9 @@ subprojects {
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-ui', version: "${knife4jVersion}"
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-starter', version: "${knife4jVersion}"
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-autoconfigure', version: "${knife4jVersion}"
-		 		 
-    	 //local jars
+   		
+   		 //local jars
     	 implementation fileTree(dir: "${rootDir}/maxkey-lib/", include: '*.jar')
-    	 //阿里云
-    	 implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: '4.5.1'
-    	 //腾讯云
-    	 implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: '3.1.33'
-    	 
-    	 //tomcat embed Core Tomcat implementation
-    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
-    	 //JULI logging implementation for embedded Tomcat
-    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: '8.5.2'
     }
     
     jar {  

+ 120 - 121
config/build_standard.gradle

@@ -122,46 +122,50 @@ subprojects {
 	//all dependencies
 	dependencies {  
 		//for Test and Compile
-		 testImplementation 'junit:junit:4.11' 
-    	 compileOnly 'junit:junit:4.11'  
-         testImplementation group: 'org.mockito', name: 'mockito-all', version: '1.10.19'
-         testImplementation group: 'xmlunit', name: 'xmlunit', version: '1.6'
+		 testImplementation group: 'junit', name: 'junit', version: "${junitVersion}"
+    	 compileOnly group: 'junit', name: 'junit', version: "${junitVersion}"
+         testImplementation group: 'org.mockito', name: 'mockito-all', version: "${mockitoallVersion}"
+         testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
+
          //apache
-         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.3'
-         implementation  group: 'commons-codec', name: 'commons-codec', version: '1.15'
-         implementation  group: 'commons-collections', name: 'commons-collections', version: '3.2.2'
-         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: '4.4'
-         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: '1.7'
-         implementation  group: 'org.apache.commons', name: 'commons-text', version: '1.9'
-         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.6.0'
-         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: '1.7'
-         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: '3.2'
-         implementation  group: 'commons-digester', name: 'commons-digester', version: '2.1'
-         implementation  group: 'commons-io', name: 'commons-io', version: '2.8.0'
-         implementation  group: 'commons-lang', name: 'commons-lang', version: '2.6'
-         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: '3.11'
-         implementation  group: 'commons-logging', name: 'commons-logging', version: '1.2'
-         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: '2.6.2'
-         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: '3.1'
-         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: '1.4'
-         implementation  group: 'org.apache.commons', name: 'commons-email', version: '1.5'
+         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
+         implementation  group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
+         implementation  group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
+         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
+         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
+         implementation  group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
+         implementation  group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
+         implementation  group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
+         implementation  group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
+         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
+         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
          implementation  group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.13'
-         implementation  group: 'org.apache.velocity', name: 'velocity', version: '1.7'
-         implementation  group: 'velocity', name: 'velocity-dep', version: '1.4'
-         implementation  group: 'org.freemarker', name: 'freemarker', version: '2.3.31'
-         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '3.0.1'
-         implementation  group: 'org.apache.commons', name: 'commons-compress', version: '1.20'
+         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
+         implementation  group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
+         implementation  group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
+         implementation  group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
+         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
+         implementation  group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
          implementation  group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: "${poiVersion}"
          implementation  group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
-         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: '0.3.9'
-         
-		//logs
+         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
+         //tomcat embed Core Tomcat implementation
+    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
+    	 //JULI logging implementation for embedded Tomcat
+    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
+   		 //apache logs
          implementation  group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
          implementation  group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
@@ -169,8 +173,9 @@ subprojects {
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
 		 implementation  group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
+		//logs
          implementation  group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
-         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: '3.4.1.Final'
+         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
 		 //spring
          implementation  group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
          implementation  group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
@@ -196,11 +201,11 @@ subprojects {
 		 
 		 //kafka support
 		 // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
-		 implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: '2.6.1'
+		 implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
 		 // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
-		 implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: '2.6.6'
+		 implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
 		 // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
-		 implementation  group: 'org.springframework.retry', name: 'spring-retry', version: '1.3.0'
+		 implementation  group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
 		 
          //spring-security
          implementation  group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
@@ -227,102 +232,105 @@ subprojects {
          implementation  group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
          implementation  group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
          
-         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: '2.0.0.RELEASE'
-         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: '2.0.0.RELEASE'
-         
+         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
+         implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
          //saml 
-         implementation  group: 'org.opensaml', name: 'opensaml', version: '2.6.6'
-         implementation  group: 'org.opensaml', name: 'openws', version: '1.5.6'
-         implementation  group: 'org.opensaml', name: 'xmltooling', version: '1.4.6'
-         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: '7.5.1'
-		 //jose-jwt
-         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: '9.4.1'
-         implementation  group: 'net.jcip', name: 'jcip-annotations', version: '1.0'
-         implementation  group: 'net.minidev', name: 'json-smart', version: '2.3'
-         implementation  group: 'net.minidev', name: 'asm', version: '1.0.2'
+         implementation  group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
+         implementation  group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
+         implementation  group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
+         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
+         //jose-jwt
+         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
+         implementation  group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
+         implementation  group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
+         implementation  group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
          //oauth third party JustAuth
-         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: '1.0.3'
-         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: '1.15.9'
+         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
+         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
          //common
-         implementation  group: 'org.javassist', name: 'javassist', version: '3.23.0-GA'
-         implementation  group: 'org.owasp.esapi', name: 'esapi', version: '2.2.0.0'
-         implementation  group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'
+         implementation  group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
+         implementation  group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
+         implementation  group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
          // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence
          // for mybatis-jpa-extra
-         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.2.1'
-         implementation  group: 'javax.activation', name: 'activation', version: '1.1.1'
-         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
-         implementation  group: 'javax.transaction', name: 'jta', version: '1.1'
-         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: '1.3'
-         implementation  group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final'
-         implementation  group: 'javax.xml', name: 'jsr173', version: '1.0'
-		 implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.3.0.1'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '2.3.2'
-		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: '2.3.2'
+         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
+         implementation  group: 'javax.activation', name: 'activation', version: "${activationVersion}"
+         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
+         implementation  group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
+         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
+         implementation  group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
+         implementation  group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
+		 implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
+		 implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
          //crypto
          implementation  group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
          implementation  group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
          implementation  group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'com.google.crypto.tink', name: 'tink', version: '1.4.0'
+         //google
+         implementation  group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
          //kaptcha
-         implementation  group: 'com.jhlabs', name: 'filters', version: '2.0.235-1'
-         implementation  group: 'com.github.penggle', name: 'kaptcha', version: '2.3.2'
+         implementation  group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
+         implementation  group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
          //json
-         implementation  group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         
-         implementation  group: 'com.fasterxml', name: 'classmate', version: '1.5.0'
-		 implementation  group: 'com.alibaba', name: 'fastjson', version: '1.2.74'
+         implementation  group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
          //reactive
-         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: '1.0.2'
-         implementation  group: 'io.projectreactor', name: 'reactor-core', version: '3.2.10.RELEASE'
-         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: '0.2'
+         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
+         implementation  group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
+         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
          //quartz
-         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.2'
+         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
 		 //database
-		 implementation  group: 'mysql', name: 'mysql-connector-java', version: '8.0.21'
-		 implementation  group: 'com.alibaba', name: 'druid', version: '1.2.5'
-		 implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: '1.2.5'
-         implementation  group: 'redis.clients', name: 'jedis', version: '3.4.1'
-         implementation  group: 'org.ehcache', name: 'ehcache', version: '3.9.0'
+		 implementation  group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
+		 implementation  group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
+		 implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
+         implementation  group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
+         implementation  group: 'org.ehcache', name: 'ehcache', version: "${ehcacheVersion}"
 		 //mybatis
-         implementation  group: 'org.mybatis', name: 'mybatis', version: '3.5.6'
-         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: '2.0.6'
+         implementation  group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
+         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
 		 //hibernate
          implementation  group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
          implementation  group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
          implementation  group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
          //usefull
-         implementation  group: 'joda-time', name: 'joda-time', version: '2.10.9'
-         implementation  group: 'org.yaml', name: 'snakeyaml', version: '1.26'
-         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: '1.9.22'
-         implementation  group: 'org.jdom', name: 'jdom', version: '2.0.2'
-         implementation  group: 'com.google.zxing', name: 'core', version: '3.4.1'
-         implementation  group: 'com.google.guava', name: 'guava', version: '30.1-jre'
-         implementation  group: 'ognl', name: 'ognl', version: '3.2.14'
-         implementation  group: 'cglib', name: 'cglib', version: '3.3.0'
-         implementation  group: 'org.ow2.asm', name: 'asm', version: '7.3.1'
-         implementation  group: 'aopalliance', name: 'aopalliance', version: '1.0'
-         implementation  group: 'org.aspectj', name: 'aspectjtools', version: '1.9.4'
-         implementation  group: 'dom4j', name: 'dom4j', version: '1.6.1'
-		 implementation  group: 'xalan', name: 'serializer', version: '2.7.2'
-		 implementation  group: 'xml-resolver', name: 'xml-resolver', version: '1.2'
-		 implementation  group: 'org.apache.santuario', name: 'xmlsec', version: '1.5.8'
-		 implementation  group: 'org.ogce', name: 'xpp3', version: '1.1.6'
-		 implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.4.10'
-		 implementation  group: 'org.passay', name: 'passay', version: '1.6.0'
-		 implementation  group: 'io.micrometer', name: 'micrometer-core', version: '1.6.4'
-		 implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: '2.0.3'
-		 implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: '4.2.1'
-		 		 
+         implementation  group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
+         implementation  group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
+         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
+         implementation  group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
+         implementation  group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
+         implementation  group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
+         implementation  group: 'ognl', name: 'ognl', version: "${ognlVersion}"
+         implementation  group: 'cglib', name: 'cglib', version: "${cglibVersion}"
+         implementation  group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
+         implementation  group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
+         implementation  group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
+         implementation  group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
+		 implementation  group: 'xalan', name: 'serializer', version: "${serializerVersion}"
+		 implementation  group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
+		 implementation  group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
+		 implementation  group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
+		 implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
+		 implementation  group: 'org.passay', name: 'passay', version: "${passayVersion}"
+		 implementation  group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
+		 implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
+		 implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
+		  //阿里云
+    	 implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
+    	 //腾讯云
+    	 implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
+         //json
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation  group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
+		 implementation  group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
 		 //docs
-		 implementation  group: 'org.mapstruct', name: 'mapstruct', version: '1.4.1.Final'
+		 implementation  group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
 		 implementation  group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
 		 implementation  group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
 		 implementation  group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
@@ -351,18 +359,9 @@ subprojects {
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-ui', version: "${knife4jVersion}"
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-starter', version: "${knife4jVersion}"
 		 implementation  group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-autoconfigure', version: "${knife4jVersion}"
-		 		 
-    	 //local jars
+   		
+   		 //local jars
     	 implementation fileTree(dir: "${rootDir}/maxkey-lib/", include: '*.jar')
-    	 //阿里云
-    	 implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: '4.5.1'
-    	 //腾讯云
-    	 implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: '3.1.33'
-    	 
-    	 //tomcat embed Core Tomcat implementation
-    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
-    	 //JULI logging implementation for embedded Tomcat
-    	 implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: '8.5.2'
     }
     
     jar {  

+ 120 - 12
gradle.properties

@@ -1,25 +1,133 @@
-#maxkey properties
+#gradle properties for maxkey
 group	=maxkey.top
-version	=2.7.0
+version	=2.8.0
 vendor	=https://www.maxkey.top
-author	=maxkeyTop
-
+author	=MaxKeyTop
 #Version For use jar
+#Apache
+commonsbeanutilsVersion=1.9.3
+commonscodecVersion=1.15
+commonscollectionsVersion=3.2.2
+commonscollections4Version=4.4
+commonscsvVersion=1.7
+commonstextVersion=1.9
+commonsdbcp2Version=2.6.0
+commonsdbutilsVersion=1.7
+commonsdigester3Version=3.2
+commonsdigesterVersion=2.1
+commonsioVersion=2.8.0
+commonslangVersion=2.6
+commonslang3Version=3.11
+commonsloggingVersion=1.2
+commonspool2Version=2.6.2
+commonshttpclientVersion=3.1
+commonsfileuploadVersion=1.4
+commonsemailVersion=1.5
+httpcoreVersion=4.4.13
+velocityVersion=1.7
+velocitydepVersion=1.4
+freemarkerVersion=2.3.31
+xmlbeansVersion=3.0.1
+commonscompressVersion=1.20
 log4jVersion         	=2.14.1
+kafkaclientsVersion=2.6.1
+httpcomponentsVersion	=4.5.12
+poiVersion	 			=4.1.2
+tomcatVersion			=9.0.44
+tomcatembedloggingjuliVersion=8.5.2
+#spring
 springVersion        	=5.3.6
 springBootVersion    	=2.4.5
 springSecurityVersion	=5.4.6
 springDataVersion    	=2.4.1
 springSessionVersion    =2.4.1
-hibernateVersion	 	=6.2.0.Final
-slf4jVersion	 	 	=1.7.30
-jacksonVersion		 	=2.12.1
-bouncycastleVersion	 	=1.64
-httpcomponentsVersion	=4.5.12
-poiVersion	 			=4.1.2
+springkafkaVersion=2.6.6
+springretryVersion=1.3.0
+springplugincoreVersion=2.0.0.RELEASE
+springpluginmetadataVersion=2.0.0.RELEASE
+springfoxVersion  		=3.0.0
+#google
 jibGradlePluginVersion  =2.7.0
+kaptchaVersion=2.3.2
+gsonVersion=2.8.6
+guavaVersion=30.1.1-jre
+tinkVersion=1.4.0
+zxingcoreVersion=3.4.1
+#jboss
+jbossloggingVersion=3.4.1.Final
+hibernateVersion	 	=6.2.0.Final
+#doc
 swaggerVersion  		=1.6.2
 swaggerV3Version  		=2.1.6
-springfoxVersion  		=3.0.0
 knife4jVersion  		=3.0.2
-tomcatVersion			=9.0.44
+#database
+mysqlconnectorjavaVersion=8.0.21
+druidVersion=1.2.5
+druidspringbootstarterVersion=1.2.5
+jedisVersion=3.4.1
+ehcacheVersion=3.9.0
+mybatisVersion=3.5.6
+mybatisspringVersion=2.0.6
+#saml
+opensamlVersion=2.6.6
+openwsVersion=1.5.6
+xmltoolingVersion=1.4.6
+javasupportVersion=7.5.1
+#others
+jhlabsfiltersVersion=2.0.235-1
+slf4jVersion	 	 	=1.7.30
+jacksonVersion		 	=2.12.1
+bouncycastleVersion	 	=1.64
+junitVersion=4.11
+mockitoallVersion=1.10.19
+xmlunitVersion=1.6
+nimbusjosejwtVersion=9.4.1
+jcipannotationsVersion=1.0
+minidevjsonsmartVersion=2.3
+minidevasmVersion=1.0.2
+simplehttpVersion=1.0.3
+JustAuthVersion=1.15.9
+javassistVersion=3.23.0-GA
+esapiVersion=2.2.0.0
+javaxmailVersion=1.6.2
+javaxpersistenceVersion=2.2.1
+activationVersion=1.1.1
+javaxannotationapiVersion=1.3.2
+jtaVersion=1.1
+javaxtransactionapiVersion=1.3
+validationapiVersion=2.0.1.Final
+jsr173Version=1.0
+jaxbapiVersion=2.3.1
+jaxbcoreVersion=2.3.0.1
+jaxbimplVersion=2.3.2
+jaxbxjcVersion=2.3.2
+classmateVersion=1.5.0
+fastjsonVersion=1.2.74
+reactivestreamsVersion=1.0.2
+reactorcoreVersion=3.2.10.RELEASE
+szxcvbnVersion=0.2
+quartzVersion=2.3.2
+jodatimeVersion=2.10.9
+snakeyamlVersion=1.26
+nekohtmlVersion=1.9.22
+ognlVersion=3.2.14
+cglibVersion=3.3.0
+asmVersion=7.3.1
+aopallianceVersion=1.0
+aspectjtoolsVersion=1.9.4
+#xml
+jdomVersion=2.0.2
+dom4jVersion=1.6.1
+serializerVersion=2.7.2
+xmlresolverVersion=1.2
+xmlsecVersion=1.5.8
+xpp3Version=1.1.6
+xstreamVersion=1.4.10
+passayVersion=1.6.0
+micrometercoreVersion=1.6.4
+LatencyUtilsVersion=2.0.3
+stax2apiVersion=4.2.1
+mapstructVersion=1.4.1.Final
+#sdk
+aliyunjavasdkcoreVersion=4.5.1
+tencentcloudsdkjavaVersion=3.1.33

+ 2 - 2
maxkey-authentications/maxkey-authentication-social/src/main/java/org/maxkey/authn/support/socialsignon/service/SocialsAssociate.java

@@ -17,13 +17,13 @@
 
 package org.maxkey.authn.support.socialsignon.service;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 /**
  * 
  * @author Crystal.Sea
  */
-public class SocialsAssociate extends JpaBaseDomain {
+public class SocialsAssociate extends JpaBaseEntity {
 	
 	/**
 	 * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Accounts.java

@@ -24,7 +24,7 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.hibernate.validator.constraints.Length;
 
 /*
@@ -38,7 +38,7 @@ import org.hibernate.validator.constraints.Length;
  */
 @Entity
 @Table(name = "MXK_ACCOUNTS")
-public class Accounts extends JpaBaseDomain implements Serializable {
+public class Accounts extends JpaBaseEntity implements Serializable {
     private static final long serialVersionUID = 6829592256223630307L;
     @Id
     @Column

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/ChangePassword.java

@@ -17,9 +17,9 @@
 
 package org.maxkey.entity;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
-public class ChangePassword extends JpaBaseDomain{
+public class ChangePassword extends JpaBaseEntity{
 
 	/**
 	 * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/ExcelImport.java

@@ -22,7 +22,7 @@ import javax.persistence.Column;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.springframework.web.multipart.MultipartFile;
 
 /**
@@ -30,7 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
  * @author Crystal.Sea
  * 
  */
-public class ExcelImport extends JpaBaseDomain {
+public class ExcelImport extends JpaBaseEntity {
 
     /**
      * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Groups.java

@@ -24,11 +24,11 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.hibernate.validator.constraints.Length;
 @Entity
 @Table(name = "MXK_GROUPS")
-public class Groups extends JpaBaseDomain implements Serializable {
+public class Groups extends JpaBaseEntity implements Serializable {
 
     private static final long serialVersionUID = 4660258495864814777L;
     @Id

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/HistoryLogin.java

@@ -26,7 +26,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 
 /**
@@ -35,7 +35,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
  */
 @Entity
 @Table(name = "MXK_HISTORY_LOGIN")  
-public class HistoryLogin  extends JpaBaseDomain  implements Serializable{
+public class HistoryLogin  extends JpaBaseEntity  implements Serializable{
 	
 	/**
 	 * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/HistoryLoginApps.java

@@ -24,7 +24,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 /**
  * @author Crystal.Sea
@@ -32,7 +32,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
  */
 @Entity
 @Table(name = "MXK_HISTORY_LOGIN_APPS")  
-public class HistoryLoginApps extends JpaBaseDomain {
+public class HistoryLoginApps extends JpaBaseEntity {
 	
 	private static final long serialVersionUID = 5085201575292304749L;
 	@Id

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/HistoryLogs.java

@@ -24,7 +24,7 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 /**
  * .
@@ -33,7 +33,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
  */
 @Entity
 @Table(name = "MXK_HISTORY_LOGS")
-public class HistoryLogs extends JpaBaseDomain implements Serializable {
+public class HistoryLogs extends JpaBaseEntity implements Serializable {
     private static final long serialVersionUID = 6560201093784960493L;
     @Id
     @Column

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Navigations.java

@@ -22,7 +22,7 @@ package org.maxkey.entity;
 
 import java.util.ArrayList;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 
 
@@ -31,7 +31,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
  * @author Crystal.Sea
  *
  */
-public class Navigations extends JpaBaseDomain  implements java.io.Serializable {
+public class Navigations extends JpaBaseEntity  implements java.io.Serializable {
 
 	/**
 	 * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Notices.java

@@ -26,11 +26,11 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 @Entity
 @Table(name = "MXK_NOTICES")
-public class Notices  extends JpaBaseDomain implements Serializable {
+public class Notices  extends JpaBaseEntity implements Serializable {
 
     /**
 	 * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Organizations.java

@@ -24,10 +24,10 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 @Entity
 @Table(name = "MXK_ORGANIZATIONS")
-public class Organizations extends JpaBaseDomain implements Serializable {
+public class Organizations extends JpaBaseEntity implements Serializable {
 
     private static final long serialVersionUID = 5085413816404119803L;
     

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/PasswordPolicy.java

@@ -24,7 +24,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
 import javax.validation.constraints.NotNull;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.maxkey.constants.ConstantsServiceMessage;
 import org.maxkey.exception.PasswordPolicyException;
 
@@ -35,7 +35,7 @@ import org.maxkey.exception.PasswordPolicyException;
 
 @Entity
 @Table(name = "MXK_PASSWORD_POLICY")
-public class PasswordPolicy extends JpaBaseDomain implements java.io.Serializable {
+public class PasswordPolicy extends JpaBaseEntity implements java.io.Serializable {
 
     private static final long serialVersionUID = -4797776994287829182L;
     @Id

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Registration.java

@@ -17,9 +17,9 @@
 
 package org.maxkey.entity;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
-public class Registration extends JpaBaseDomain{
+public class Registration extends JpaBaseEntity{
 	
 	/**
 	 * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Resources.java

@@ -24,11 +24,11 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 @Entity
 @Table(name = "MXK_RESOURCES")
-public class Resources  extends JpaBaseDomain implements Serializable {
+public class Resources  extends JpaBaseEntity implements Serializable {
     private static final long serialVersionUID = 2567171742999638608L;
     @Id
     @Column

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/RolePermissions.java

@@ -24,13 +24,13 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.maxkey.constants.ConstantsStatus;
 import org.maxkey.web.WebContext;
 
 @Entity
 @Table(name = "MXK_ROLE_PERMISSIONS")
-public class RolePermissions  extends JpaBaseDomain implements Serializable {
+public class RolePermissions  extends JpaBaseEntity implements Serializable {
     private static final long serialVersionUID = -8783585691243853899L;
     
     @Id

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Roles.java

@@ -24,11 +24,11 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 @Entity
 @Table(name = "MXK_ROLES")
-public class Roles extends JpaBaseDomain implements Serializable {
+public class Roles extends JpaBaseEntity implements Serializable {
     private static final long serialVersionUID = -7515832728504943821L;
     
     @Id

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/Saml20Metadata.java

@@ -18,14 +18,14 @@
 package org.maxkey.entity;
 
 import java.io.Serializable;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 /**
  * Saml20Metadata.
  * @author Crystal.Sea
  *
  */
-public class Saml20Metadata extends JpaBaseDomain implements Serializable {
+public class Saml20Metadata extends JpaBaseEntity implements Serializable {
     private static final long serialVersionUID = -403743150268165622L;
     
     public static  final class ContactPersonType {

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/UserInfo.java

@@ -26,7 +26,7 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.maxkey.util.StringUtils;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -38,7 +38,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 @Entity
 @Table(name = "MXK_USERINFO")
-public class UserInfo extends JpaBaseDomain {
+public class UserInfo extends JpaBaseEntity {
     private static final long serialVersionUID = 6402443942083382236L;
     //
     @Id

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/UserInfoAdjoint.java

@@ -24,11 +24,11 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 @Entity
 @Table(name = "MXK_USERINFO_ADJUNCT")
-public class UserInfoAdjoint extends JpaBaseDomain {
+public class UserInfoAdjoint extends JpaBaseEntity {
     
     /**
      * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/apps/Apps.java

@@ -27,14 +27,14 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.maxkey.constants.Boolean;
 import org.maxkey.entity.Accounts;
 import org.springframework.web.multipart.MultipartFile;
 
 @Entity
 @Table(name = "MXK_APPS")
-public class Apps extends JpaBaseDomain implements Serializable {
+public class Apps extends JpaBaseEntity implements Serializable {
 
     /**
      * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/entity/apps/AppsAdapters.java

@@ -24,11 +24,11 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 @Entity
 @Table(name = "MXK_APPS_ADAPTERS")
-public class AppsAdapters extends JpaBaseDomain implements Serializable {
+public class AppsAdapters extends JpaBaseEntity implements Serializable {
 
     /**
      * 

+ 3 - 2
maxkey-core/src/main/java/org/maxkey/entity/xml/UserInfoXML.java

@@ -19,7 +19,8 @@ package org.maxkey.entity.xml;
 
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 /**
  * xml can not include array , MultipartFile
@@ -27,7 +28,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
  *
  */
 @XmlRootElement
-public class UserInfoXML extends JpaBaseDomain {
+public class UserInfoXML extends JpaBaseEntity {
 
 	/**
 	 * 

+ 2 - 2
maxkey-core/src/main/java/org/maxkey/web/BasicController.java

@@ -17,14 +17,14 @@
 
 package org.maxkey.web;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.apache.mybatis.jpa.persistence.JpaPageResults;
 import org.maxkey.web.message.Message;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.servlet.ModelAndView;
 
-public interface BasicController  <T extends JpaBaseDomain> {
+public interface BasicController  <T extends JpaBaseEntity> {
 
 	public JpaPageResults<T> pageResults(@ModelAttribute("modelAttribute") T modelAttribute);
 	

BIN
maxkey-lib/mybatis-jpa-extra-2.3.jar


BIN
maxkey-lib/mybatis-jpa-extra-spring-boot-starter-2.3.jar


+ 2 - 2
maxkey-persistence/src/main/java/org/maxkey/persistence/mapper/ReportMapper.java

@@ -24,14 +24,14 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 
 /**
  * @author Crystal.sea
  *
  */
-public  interface ReportMapper extends IJpaBaseMapper<JpaBaseDomain> {
+public  interface ReportMapper extends IJpaBaseMapper<JpaBaseEntity> {
 	
 	public Integer analysisDay(String reportParameter);
 	public Integer analysisNewUsers(String reportParameter);

+ 1 - 0
maxkey-persistence/src/main/java/org/maxkey/persistence/service/OrganizationsService.java

@@ -45,6 +45,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import com.google.common.collect.Lists;
 
+
 @Repository
 public class OrganizationsService  extends JpaBaseService<Organizations>{
 

+ 2 - 2
maxkey-persistence/src/main/java/org/maxkey/persistence/service/ReportService.java

@@ -20,13 +20,13 @@ package org.maxkey.persistence.service;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
+import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 import org.apache.mybatis.jpa.persistence.JpaBaseService;
 import org.maxkey.persistence.mapper.ReportMapper;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public class ReportService  extends JpaBaseService<JpaBaseDomain>{
+public class ReportService  extends JpaBaseService<JpaBaseEntity>{
 
 	public Integer analysisDay(String reportParameter) {
 		return getMapper().analysisDay(reportParameter);

+ 3 - 2
maxkey-web-manage/src/main/resources/application.properties

@@ -17,7 +17,7 @@
 ############################################################################
 application.title=MaxKey
 application.name=MaxKey-Mgt
-application.formatted-version=v2.7.0 GA
+application.formatted-version=v2.8.0 GA
 
 ############################################################################
 #MaxKey Server  configuration                                              #
@@ -42,8 +42,9 @@ spring.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&character
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 #mybatis
+mybatis.dialect=mysql
 mybatis.type-aliases-package=org.maxkey.entity,org.maxkey.entity.apps,
-mybatis.mapper-locations=classpath*:/org/maxkey/persistence/mapper/xml/mysql/*.xml
+mybatis.mapper-locations=classpath*:/org/maxkey/persistence/mapper/xml/${mybatis.dialect}/*.xml
 mybatis.table-column-snowflake-datacenter-id=1
 mybatis.table-column-snowflake-machine-id=1
 mybatis.table-column-escape=true

+ 0 - 2
maxkey-web-manage/src/main/resources/maxkey.properties

@@ -1,2 +0,0 @@
-############################################################################
-#                        MaxKey Management

+ 2 - 1
maxkey-web-maxkey/src/main/resources/application-http.properties

@@ -47,8 +47,9 @@ spring.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&character
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 #mybatis
+mybatis.dialect=mysql
 mybatis.type-aliases-package=org.maxkey.entity,org.maxkey.entity.apps,
-mybatis.mapper-locations=classpath*:/org/maxkey/persistence/mapper/xml/mysql/*.xml
+mybatis.mapper-locations=classpath*:/org/maxkey/persistence/mapper/xml/${mybatis.dialect}/*.xml
 mybatis.table-column-snowflake-datacenter-id=1
 mybatis.table-column-snowflake-machine-id=1
 mybatis.table-column-escape=true

+ 2 - 1
maxkey-web-maxkey/src/main/resources/application-https.properties

@@ -47,8 +47,9 @@ spring.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&character
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 #mybatis
+mybatis.dialect=mysql
 mybatis.type-aliases-package=org.maxkey.entity,org.maxkey.entity.apps,
-mybatis.mapper-locations=classpath*:/org/maxkey/persistence/mapper/xml/mysql/*.xml
+mybatis.mapper-locations=classpath*:/org/maxkey/persistence/mapper/xml/${mybatis.dialect}/*.xml
 mybatis.table-column-snowflake-datacenter-id=1
 mybatis.table-column-snowflake-machine-id=1
 mybatis.table-column-escape=true

+ 1 - 1
maxkey-web-maxkey/src/main/resources/application.properties

@@ -17,7 +17,7 @@
 ############################################################################
 application.title=MaxKey
 application.name=MaxKey
-application.formatted-version=v2.7.0 GA
+application.formatted-version=v2.8.0 GA
 
 ############################################################################
 #spring.profiles.active https/http; default https                          #