fix javadocs problem and add check (#4818)

diff --git a/.github/workflows/checkstyle.yml b/.github/workflows/checkstyle.yml
index 9b153e7..2accac1 100644
--- a/.github/workflows/checkstyle.yml
+++ b/.github/workflows/checkstyle.yml
@@ -36,3 +36,5 @@
           distribution: 'temurin'
       - name: checkstyle
         run: mvn -B -Pit install -DskipTests -Dspotbugs.skip=true checkstyle:check
+      - name: javadoc
+        run: mvn javadoc:javadoc -Prelease
diff --git a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterOperation.java b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterOperation.java
index 85671fe..c80e493 100644
--- a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterOperation.java
+++ b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterOperation.java
@@ -160,7 +160,6 @@
    * Batch send heartbeats to service-center
    *
    * @param heartbeatsRequest
-   * @return
    * @throws OperationException
    */
   void sendHeartBeats(HeartbeatsRequest heartbeatsRequest);
diff --git a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/query/QueryCodecMulti.java b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/query/QueryCodecMulti.java
index 551ccee..4c2f428 100644
--- a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/query/QueryCodecMulti.java
+++ b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/query/QueryCodecMulti.java
@@ -25,9 +25,6 @@
 
 import jakarta.servlet.http.HttpServletRequest;
 
-/**
- * ?query=x1&query=x2
- */
 @SuppressWarnings("unchecked")
 public class QueryCodecMulti extends AbstractQueryCodec {
   public static final String CODEC_NAME = "form:1";
diff --git a/core/src/main/java/org/apache/servicecomb/core/invocation/endpoint/EndpointUtils.java b/core/src/main/java/org/apache/servicecomb/core/invocation/endpoint/EndpointUtils.java
index d906de6..2d8b37c 100644
--- a/core/src/main/java/org/apache/servicecomb/core/invocation/endpoint/EndpointUtils.java
+++ b/core/src/main/java/org/apache/servicecomb/core/invocation/endpoint/EndpointUtils.java
@@ -88,7 +88,7 @@
   }
 
   /**
-   * <pre>
+   * {@code
    *   http://xxx  -> rest://xxx
    *   https://xxx -> rest://xxx?sslEnabled=true
    *
@@ -98,7 +98,7 @@
    *   xxx         -> rest://xxx:port?protocol=http2
    *   xxx?a=a1    -> rest://xxx:port?a=a1&protocol=http2
    *   other://xxx -> other://xxx
-   * </pre>
+   * }
    *
    *  This method provided for convenience of handling user input endpoints, and do not have a strict meaning. Make sure all unit test cases
    *  work before change.
diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/GenericsUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/GenericsUtils.java
index 0429b82..d872236 100644
--- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/GenericsUtils.java
+++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/GenericsUtils.java
@@ -24,14 +24,14 @@
   /**
    * check if XXX.class is generic type. see TestGenericsUtils for details meaning.
    * This method is provided for API compatibility for RestTemplate. Following code:
-   *
-   * <code>
+   * <p>
+   *{@code
    * List<GenericObjectParam<List<RecursiveObjectParam>>> response = consumers.getSCBRestTemplate()
    * postForObject("/testListObjectParam", request, List.class);
-   * </code>
+   * }
    *
    * should work for versions of 1.*. This is because java-chassis can read type info from swaggers.
-   *
+   * <p>
    * Start from 2.x, the best practise to write this code is to use ParameterizedTypeReference provided by RestTemplate
    * exchange method.
    */
diff --git a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Registration.java b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Registration.java
index c552961..014da5f 100644
--- a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Registration.java
+++ b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Registration.java
@@ -22,42 +22,42 @@
 
 
 /**
- * This is the core service registration interface. <br/>
+ * This is the core service registration interface.
  */
 public interface Registration<R extends RegistrationInstance> extends SPIEnabled, SPIOrder, LifeCycle {
   String name();
 
   /**
-   * get MicroserviceInstance </br>
-   *
+   * get MicroserviceInstance
+   * <p>
    * Life Cycle:This method is called anytime after <code>run</code>.
    */
   R getMicroserviceInstance();
 
   /**
-   * update MicroserviceInstance status </br>
-   *
+   * update MicroserviceInstance status
+   * <p>
    * Life Cycle:This method is called anytime after <code>run</code>.
    */
   boolean updateMicroserviceInstanceStatus(MicroserviceInstanceStatus status);
 
   /**
-   * adding schemas to Microservice </br>
-   *
+   * adding schemas to Microservice
+   * <p>
    * Life Cycle:This method is called after <code>init</code> and before <code>run</code>.
    */
   void addSchema(String schemaId, String content);
 
   /**
-   * adding endpoints to MicroserviceInstance </br>
-   *
+   * adding endpoints to MicroserviceInstance
+   * <p>
    * Life Cycle:This method is called after <code>init</code> and before <code>run</code>.
    */
   void addEndpoint(String endpoint);
 
   /**
-   * adding property to MicroserviceInstance </br>
-   *
+   * adding property to MicroserviceInstance
+   * <p>
    * Life Cycle:This method is called after <code>init</code> and before <code>run</code>.
    */
   void addProperty(String key, String value);
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/marker/operator/CompareOperator.java b/governance/src/main/java/org/apache/servicecomb/governance/marker/operator/CompareOperator.java
index 5379bf8..5b73b9a 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/marker/operator/CompareOperator.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/marker/operator/CompareOperator.java
@@ -38,7 +38,7 @@
   }
 
   /**
-   * 支持 > < = >= <= ! 后面加数字
+   * 支持 {@code > < = >= <= !} 后面加数字
    *
    * @param targetStr
    * @param patternStr
diff --git a/governance/src/main/java/org/apache/servicecomb/router/distribute/RouterDistributor.java b/governance/src/main/java/org/apache/servicecomb/router/distribute/RouterDistributor.java
index fa9af8f..5f5babd 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/distribute/RouterDistributor.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/distribute/RouterDistributor.java
@@ -23,8 +23,8 @@
 import org.apache.servicecomb.router.model.PolicyRuleItem;
 
 /**
- * @Author GuoYl123
- * @Date 2019/10/17
+ * @author GuoYl123
+ * @since 2019/10/17
  **/
 public interface RouterDistributor<INSTANCE> {
 
diff --git a/governance/src/main/java/org/apache/servicecomb/router/exception/RouterIllegalParamException.java b/governance/src/main/java/org/apache/servicecomb/router/exception/RouterIllegalParamException.java
index 61fda32..9647a85 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/exception/RouterIllegalParamException.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/exception/RouterIllegalParamException.java
@@ -17,8 +17,8 @@
 package org.apache.servicecomb.router.exception;
 
 /**
- * @Author GuoYl123
- * @Date 2019/11/4
+ * @author GuoYl123
+ * @since 2019/11/4
  **/
 public class RouterIllegalParamException extends RuntimeException {
 
diff --git a/governance/src/main/java/org/apache/servicecomb/router/model/HeaderRule.java b/governance/src/main/java/org/apache/servicecomb/router/model/HeaderRule.java
index 931fcee..7a8afed 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/model/HeaderRule.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/model/HeaderRule.java
@@ -21,8 +21,8 @@
 import org.slf4j.LoggerFactory;
 
 /**
- * @Author GuoYl123
- * @Date 2019/10/17
+ * @author GuoYl123
+ * @since 2019/10/17
  **/
 public class HeaderRule {
 
diff --git a/governance/src/main/java/org/apache/servicecomb/router/model/PolicyRuleItem.java b/governance/src/main/java/org/apache/servicecomb/router/model/PolicyRuleItem.java
index fa2d285..0700a26 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/model/PolicyRuleItem.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/model/PolicyRuleItem.java
@@ -25,8 +25,8 @@
 import org.springframework.util.CollectionUtils;
 
 /**
- * @Author GuoYl123
- * @Date 2019/10/17
+ * @author GuoYl123
+ * @since 2019/10/17
  **/
 public class PolicyRuleItem implements Comparable<PolicyRuleItem> {
 
diff --git a/governance/src/main/java/org/apache/servicecomb/router/model/RouteItem.java b/governance/src/main/java/org/apache/servicecomb/router/model/RouteItem.java
index f2017a9..5f1d6e9 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/model/RouteItem.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/model/RouteItem.java
@@ -19,8 +19,8 @@
 import java.util.Map;
 
 /**
- * @Author GuoYl123
- * @Date 2019/10/17
+ * @author GuoYl123
+ * @since 2019/10/17
  **/
 public class RouteItem implements Comparable<RouteItem> {
 
diff --git a/governance/src/main/java/org/apache/servicecomb/router/model/ServiceInfoCache.java b/governance/src/main/java/org/apache/servicecomb/router/model/ServiceInfoCache.java
index 6764032..232f1da 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/model/ServiceInfoCache.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/model/ServiceInfoCache.java
@@ -22,8 +22,8 @@
 import org.springframework.util.CollectionUtils;
 
 /**
- * @Author GuoYl123
- * @Date 2019/10/17
+ * @author GuoYl123
+ * @since 2019/10/17
  **/
 public class ServiceInfoCache {
   private final List<PolicyRuleItem> allrule;
diff --git a/governance/src/main/java/org/apache/servicecomb/router/model/TagItem.java b/governance/src/main/java/org/apache/servicecomb/router/model/TagItem.java
index 0fc610d..a7a20fa 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/model/TagItem.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/model/TagItem.java
@@ -21,8 +21,8 @@
 import java.util.Objects;
 
 /**
- * @Author GuoYl123
- * @Date 2019/10/17
+ * @author  GuoYl123
+ * @since  2019/10/17
  **/
 public class TagItem {
 
diff --git a/handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestQpsStrategy.java b/handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestQpsStrategy.java
index 23c228f..f34b6c5 100644
--- a/handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestQpsStrategy.java
+++ b/handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestQpsStrategy.java
@@ -24,8 +24,8 @@
 import org.junit.jupiter.api.Test;
 
 /**
- * @Author GuoYl123
- * @Date 2020/7/16
+ * @author GuoYl123
+ * @since 2020/7/16
  **/
 public class TestQpsStrategy {