This is an automated email from the ASF dual-hosted git repository.

casion pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/master by this push:
     new bf1cb5bce2 [LINKIS-1.9.0] Feature toggles, dependency optimization and 
bug fixes for linkis-web and backend (#5400)
bf1cb5bce2 is described below

commit bf1cb5bce2de44a2728e594319e422dd6f7ed0e4
Author: aiceflower <[email protected]>
AuthorDate: Thu Apr 2 19:48:17 2026 +0800

    [LINKIS-1.9.0] Feature toggles, dependency optimization and bug fixes for 
linkis-web and backend (#5400)
    
    * update version to 1.9.0
    
    * #AI commit# refactor: 调整 GatewaySpringConfiguration 中 SecurityFilter 设置逻辑
    
    - 添加 userRestful 字段注入
    - 将 SecurityFilter.setUserRestful 调用从 createUserRestful 方法移至 @PostConstruct 
init 方法
    
    * #AI commit# refactor: 升级 Knife4j 和 Springfox 到 3.x 版本
    
    - 在 apache profile 中升级 knife4j.version 从 2.0.9 到 3.0.3
    - 在 apache profile 中升级 springfox.version 从 2.10.5 到 3.0.0
    - 添加 hbase-shaded-jetty 和 hbase-protocol-shaded 排除依赖,解决 Jetty 冲突
    - SwaggerBeanPostProcessor 保持兼容 Springfox 3.x API
    
    修复问题:
    - 解决 publicservice 服务启动失败问题
    - 解决 DynamicResponseModelReader 依赖 TypeNameExtractor 错误
    - 解决 Jetty ServletHolder.setClassFrom IllegalStateException 错误
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    * #AI COMMIT# Exclude hbase dependencies from JDBC and Hive engine 
connectors
    
    Add exclusions for hbase-shaded-jetty and hbase-protocol-shaded to prevent
    Jetty class conflicts in JDBC and Hive EngineConn plugins.
    
    Modified files:
    - linkis-engineconn-plugins/jdbc/pom.xml
    - linkis-engineconn-plugins/hive/pom.xml
    
    * #AI COMMIT# Exclude hbase-shaded-jetty from assembly packaging
    
    Add hbase-shaded-jetty and hbase-protocol-shaded exclusions to 
distribution.xml
    files to prevent Jetty class conflicts at runtime.
    
    Modified files:
    - linkis-public-enhancements/distribution.xml
    - linkis-engineconn-plugins/hive/src/main/assembly/distribution.xml
    - linkis-engineconn-plugins/jdbc/src/main/assembly/distribution.xml
    
    * #AI COMMIT# Use wildcard pattern to exclude all hbase-shaded jars
    
    Change from excluding individual hbase-shaded-* jars to using wildcard
    pattern to exclude all hbase-shaded packages at once.
    
    Modified files:
    - linkis-public-enhancements/distribution.xml
    - linkis-engineconn-plugins/hive/src/main/assembly/distribution.xml
    - linkis-engineconn-plugins/jdbc/src/main/assembly/distribution.xml
    
    * #AI COMMIT# Exclude all hbase-shaded jars explicitly
    
    List each hbase-shaded jar explicitly instead of using wildcard pattern
    which doesn't work with Maven assembly plugin.
    
    Modified files:
    - linkis-public-enhancements/distribution.xml
    - linkis-engineconn-plugins/hive/src/main/assembly/distribution.xml
    - linkis-engineconn-plugins/jdbc/src/main/assembly/distribution.xml
    
    * #AI COMMIT# Exclude all hbase jars from linkis-public-enhancements 
assembly
    
    Add comprehensive exclusions for all hbase-related jars to prevent
    Jetty class conflicts and reduce unnecessary dependencies.
    
    Modified:
    - linkis-public-enhancements/distribution.xml
    
    * # AI COMMIT# Optimize linkis scripts - service alias and status output 
format
    
    ## Changes
    
    ### 1. Service Alias Mapping (alias 1-6)
    - alias [1] --> mg-eureka
    - alias [2] --> mg-gateway
    - alias [3] --> ps-publicservice
    - alias [4] --> cg-linkismanager
    - alias [5] --> cg-entrance
    - alias [6] --> cg-engineconnmanager
    
    ### 2. Status Output Format
    - Unified format: alias->[X]  [service-name]  [OK/FAILED]
    - Service names left-aligned in 22-character width
    - Green [OK] for running services
    - Red [FAILED] for failed services
    
    ### 3. Files Modified
    - linkis-dist/package/sbin/linkis
    - linkis-dist/package/sbin/linkis-start-all.sh
    
    ### 4. Help Information
    Updated help message to show new alias format
    
    * #AI COMMIT# feat: Add build-time parameter for Python Module feature 
toggle
    
    - Add PYTHON_MODULE environment variable support in vue.config.js
    - Create separate python-module-config virtual module to avoid circular 
dependency
    - Modify router.js to conditionally register pythonModule route
    - Update index.vue to control menu visibility based on feature flag
    - Default: enabled, use PYTHON_MODULE=false npm run build to disable
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    * #AI COMMIT# docs: Remove Python Module documentation files
    
    These documentation files are not required by the project and can be 
removed.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    * #AI COMMIT# fix: Fix i18n key for add button in datasourceAccess module
    
    - Change 'message.linkis.basedata.add' to 
'message.linkis.basedataManagement.add'
    - Keep consistent with other modules like datasourceEnv
    - Fix Chinese translation not displaying for add button
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    * #AI COMMIT# feat: Add build-time parameter for disallow system user login 
feature
    
    Add compile-time toggle for disallow login feature, similar to python 
module:
    - Default enabled (feature ON)
    - Use DISALLOW_LOGIN=false npm run build to disable
    - Create virtual module disallow-login-config.js for config injection
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
---
 linkis-dist/package/sbin/linkis                    | 192 +++++++++++----------
 linkis-dist/package/sbin/linkis-start-all.sh       |  22 ++-
 linkis-engineconn-plugins/hive/pom.xml             |  16 ++
 .../hive/src/main/assembly/distribution.xml        |   7 +
 linkis-engineconn-plugins/jdbc/pom.xml             |   9 +-
 .../jdbc/src/main/assembly/distribution.xml        |   9 +
 .../AccessibleExecutorConfiguration.scala          |   1 +
 linkis-public-enhancements/distribution.xml        |  22 +++
 .../linkis-pes-publicservice/pom.xml               |   8 +
 .../config/GatewaySpringConfiguration.scala        |   5 +-
 linkis-web/PYTHON_MODULE_CHANGES.md                | 122 -------------
 linkis-web/PYTHON_MODULE_CONFIG.md                 |  95 ----------
 .../apps/linkis/module/datasourceAccess/index.vue  |   4 +-
 linkis-web/src/apps/linkis/router.js               |  18 +-
 linkis-web/src/apps/linkis/view/linkis/index.vue   |  23 ++-
 linkis-web/src/dss/view/login/index.vue            |   5 +-
 linkis-web/vue.config.js                           |  17 +-
 pom.xml                                            |   8 +-
 18 files changed, 235 insertions(+), 348 deletions(-)

diff --git a/linkis-dist/package/sbin/linkis b/linkis-dist/package/sbin/linkis
index 3719d7b5a7..1f76060f0e 100644
--- a/linkis-dist/package/sbin/linkis
+++ b/linkis-dist/package/sbin/linkis
@@ -34,14 +34,17 @@ if [ "$LINKIS_CONF_DIR" = "" ]; then
 fi
 source $LINKIS_CONF_DIR/linkis-env.sh
 
-export ENGINE_MANAGER=cg-engineconnmanager
-export ENTRANCE=cg-entrance
-export LINKISMANAGER=cg-linkismanager
-export GATEWAY=mg-gateway
 export EUREKA=mg-eureka
-export PUBLICSERVICE=ps-publicservice             
+export GATEWAY=mg-gateway
+export PUBLICSERVICE=ps-publicservice
+export LINKISMANAGER=cg-linkismanager
+export ENTRANCE=cg-entrance
+export ENGINE_MANAGER=cg-engineconnmanager             
 
 YELLOW='\033[0;33m'
+GREEN='\033[0;32m'
+RED='\033[0;31m'
+NC='\033[0m'
 
 help() {  
   echo "<----------------------------------------------------------->"
@@ -70,12 +73,12 @@ help() {
   echo "    restart [service-name],  restart [service-name] service" 
   echo ""
   echo "SERVICE-NAME"
-  echo "    cg-engineconnmanager    alias 1"
-  echo "    cg-entrance             alias 2"
-  echo "    cg-linkismanager        alias 3"
-  echo "    mg-eureka               alias 4"
-  echo "    mg-gateway              alias 5"
-  echo "    ps-publicservice        alias 6"
+  echo "    alias [1] -->  mg-eureka"
+  echo "    alias [2] -->  mg-gateway"
+  echo "    alias [3] -->  ps-publicservice"
+  echo "    alias [4] -->  cg-linkismanager"
+  echo "    alias [5] -->  cg-entrance"
+  echo "    alias [6] -->  cg-engineconnmanager"
   echo "<----------------------------------------------------------->"
   exit 1  
 }  
@@ -84,29 +87,32 @@ status(){
   sh $LINKIS_HOME/sbin/linkis-daemon.sh status $1
 }  
 
-function checkServer() {
-echo -e "<-------------- ${YELLOW}Linkis-$1 ${NC} ------------------>"
-echo "Begin to check $1"
-sh $LINKIS_HOME/sbin/linkis-daemon.sh status $1
-if [ $? -ne 0 ]; then
-      ALL_SERVER_NAME=linkis-$1
+function checkServer(){
+  local service_name=$1
+  local alias_num=$2
+  sh $LINKIS_HOME/sbin/linkis-daemon.sh status $service_name > /dev/null 2>&1
+  local status=$?
+  if [ $status -ne 0 ]; then
+      printf "${YELLOW}alias->[%d]  [%-22s]  [${RED}FAILED${NC}]${NC}\n" 
"$alias_num" "$service_name"
+      ALL_SERVER_NAME=linkis-$service_name
       LOG_PATH=$LINKIS_HOME/logs/$ALL_SERVER_NAME.log
       echo "ERROR: your $ALL_SERVER_NAME microservice does not start 
successful !!! ERROR logs as follows :"
       echo "Please check detail log, log path :$LOG_PATH"
-else 
-     echo [OK]
+else
+     printf "${YELLOW}alias->[%d]  [%-22s]  [${GREEN}OK${NC}]${NC}\n" 
"$alias_num" "$service_name"
+     sh $LINKIS_HOME/sbin/linkis-daemon.sh status $service_name
      echo ""
      echo ""
 fi
 }
 
 status_all(){
-  checkServer cg-engineconnmanager
-  checkServer cg-entrance 
-  checkServer cg-linkismanager 
-  checkServer mg-gateway  
-  checkServer mg-eureka 
-  checkServer ps-publicservice  
+  checkServer mg-eureka 1
+  checkServer mg-gateway 2
+  checkServer ps-publicservice 3
+  checkServer cg-linkismanager 4
+  checkServer cg-entrance 5
+  checkServer cg-engineconnmanager 6
 }
 
 stop(){  
@@ -140,121 +146,121 @@ restart_all(){
 case "$1" in
   "start")
     case "$2" in
-      "$ENGINE_MANAGER" | 1)
-         start $ENGINE_MANAGER
-         ;;
-      "$ENTRANCE" | 2)
-         start $ENTRANCE
-         ;; 
-      "$LINKISMANAGER" | 3)
-         start $LINKISMANAGER
-         ;; 
-      "$EUREKA" | 4)
+      "$EUREKA" | 1)
          start $EUREKA
-         ;; 
-      "$GATEWAY" | 5)
+         ;;
+      "$GATEWAY" | 2)
          start $GATEWAY
-         ;; 
-      "$PUBLICSERVICE" | 6)
+         ;;
+      "$PUBLICSERVICE" | 3)
          start $PUBLICSERVICE
-         ;; 
+         ;;
+      "$LINKISMANAGER" | 4)
+         start $LINKISMANAGER
+         ;;
+      "$ENTRANCE" | 5)
+         start $ENTRANCE
+         ;;
+      "$ENGINE_MANAGER" | 6)
+         start $ENGINE_MANAGER
+         ;;
       *)
         if [ "$2" = "" ]; then
           start_all
         else
-          echo "Please enter the correct service name"  
-          echo "Run help to view the service name"  
+          echo "Please enter the correct service name"
+          echo "Run help to view the service name"
         fi
         ;;
     esac
     ;;
   "stop")
     case "$2" in
-      "$ENGINE_MANAGER" | 1)
-         stop $ENGINE_MANAGER
-         ;;
-      "$ENTRANCE" | 2)
-         stop $ENTRANCE
-         ;; 
-      "$LINKISMANAGER" | 3)
-         stop $LINKISMANAGER
-         ;; 
-      "$EUREKA" | 4)
+      "$EUREKA" | 1)
          stop $EUREKA
-         ;; 
-      "$GATEWAY" | 5)
+         ;;
+      "$GATEWAY" | 2)
          stop $GATEWAY
-         ;; 
-      "$PUBLICSERVICE" | 6)
+         ;;
+      "$PUBLICSERVICE" | 3)
          stop $PUBLICSERVICE
-         ;; 
+         ;;
+      "$LINKISMANAGER" | 4)
+         stop $LINKISMANAGER
+         ;;
+      "$ENTRANCE" | 5)
+         stop $ENTRANCE
+         ;;
+      "$ENGINE_MANAGER" | 6)
+         stop $ENGINE_MANAGER
+         ;;
       *)
         if [ "$2" = "" ]; then
           stop_all
         else
-          echo "Please enter the correct service name"  
-          echo "Run help to view the service name"  
+          echo "Please enter the correct service name"
+          echo "Run help to view the service name"
         fi
         ;;
     esac
     ;;
   "status")
     case "$2" in
-      "$ENGINE_MANAGER" | 1)
-         status $ENGINE_MANAGER
-         ;;
-      "$ENTRANCE" | 2)
-         status $ENTRANCE
-         ;; 
-      "$LINKISMANAGER" | 3)
-         status $LINKISMANAGER
-         ;; 
-      "$EUREKA" | 4)
+      "$EUREKA" | 1)
          status $EUREKA
-         ;; 
-      "$GATEWAY" | 5)
+         ;;
+      "$GATEWAY" | 2)
          status $GATEWAY
-         ;; 
-      "$PUBLICSERVICE" | 6)
+         ;;
+      "$PUBLICSERVICE" | 3)
          status $PUBLICSERVICE
-         ;; 
+         ;;
+      "$LINKISMANAGER" | 4)
+         status $LINKISMANAGER
+         ;;
+      "$ENTRANCE" | 5)
+         status $ENTRANCE
+         ;;
+      "$ENGINE_MANAGER" | 6)
+         status $ENGINE_MANAGER
+         ;;
       *)
         if [ "$2" = "" ]; then
           status_all
         else
-          echo "Please enter the correct service name"  
-          echo "Run help to view the service name"  
+          echo "Please enter the correct service name"
+          echo "Run help to view the service name"
         fi
         ;;
     esac
     ;;
   "restart")
     case "$2" in
-      "$ENGINE_MANAGER" | 1)
-         restart $ENGINE_MANAGER
-         ;;
-      "$ENTRANCE" | 2)
-         restart $ENTRANCE
-         ;; 
-      "$LINKISMANAGER" | 3)
-         restart $LINKISMANAGER
-         ;; 
-      "$EUREKA" | 4)
+      "$EUREKA" | 1)
          restart $EUREKA
-         ;; 
-      "$GATEWAY" | 5)
+         ;;
+      "$GATEWAY" | 2)
          restart $GATEWAY
-         ;; 
-      "$PUBLICSERVICE" | 6)
+         ;;
+      "$PUBLICSERVICE" | 3)
          restart $PUBLICSERVICE
-         ;; 
+         ;;
+      "$LINKISMANAGER" | 4)
+         restart $LINKISMANAGER
+         ;;
+      "$ENTRANCE" | 5)
+         restart $ENTRANCE
+         ;;
+      "$ENGINE_MANAGER" | 6)
+         restart $ENGINE_MANAGER
+         ;;
       *)
         if [ "$2" = "" ]; then
           stop_all
           restart_all
         else
-          echo "Please enter the correct service name"  
-          echo "Run help to view the service name"  
+          echo "Please enter the correct service name"
+          echo "Run help to view the service name"
         fi
         ;;
     esac
diff --git a/linkis-dist/package/sbin/linkis-start-all.sh 
b/linkis-dist/package/sbin/linkis-start-all.sh
index d70b37d19d..5b9bf6edae 100644
--- a/linkis-dist/package/sbin/linkis-start-all.sh
+++ b/linkis-dist/package/sbin/linkis-start-all.sh
@@ -107,8 +107,16 @@ echo "start-all shell script executed completely"
 echo "Start to check all linkis microservice"
 
 function checkServer() {
+local service_name=$1
+local alias_num=$2
 echo "<-------------------------------->"
-echo "Begin to check $SERVER_NAME"
+sh $LINKIS_HOME/sbin/linkis-daemon.sh status $SERVER_NAME
+local status=$?
+if [ $status -ne 0 ]; then
+    printf "alias->[%d]  [%-22s]  [FAILED]\n" "$alias_num" "$service_name"
+else
+    printf "alias->[%d]  [%-22s]  [OK]\n" "$alias_num" "$service_name"
+fi
 SERVER_CHECK_CMD="sh $LINKIS_HOME/sbin/linkis-daemon.sh status $SERVER_NAME"
 if test -z "$SERVER_IP"
 then
@@ -136,34 +144,34 @@ sleep 3
 if [ "$DISCOVERY" == "EUREKA" ]; then
   export SERVER_NAME="mg-eureka"
   SERVER_IP=$EUREKA_INSTALL_IP
-  checkServer
+  checkServer mg-eureka 1
 fi
 
 
 #linkis-mg-gateway
 SERVER_NAME="mg-gateway"
 SERVER_IP=$GATEWAY_INSTALL_IP
-checkServer
+checkServer mg-gateway 2
 
 #linkis-ps-publicservice
 SERVER_NAME="ps-publicservice"
 SERVER_IP=$PUBLICSERVICE_INSTALL_IP
-checkServer
+checkServer ps-publicservice 3
 
 #linkis-cg-linkismanager
 SERVER_NAME="cg-linkismanager"
 SERVER_IP=$MANAGER_INSTALL_IP
-checkServer
+checkServer cg-linkismanager 4
 
 
 #linkis-cg-entrance
 SERVER_NAME="cg-entrance"
 SERVER_IP=$ENTRANCE_INSTALL_IP
-checkServer
+checkServer cg-entrance 5
 
 #linkis-cg-engineconnmanager(ecm)
 SERVER_NAME="cg-engineconnmanager"
 SERVER_IP=$ENGINECONNMANAGER_INSTALL_IP
-checkServer
+checkServer cg-engineconnmanager 6
 
 echo "Apache Linkis started successfully"
diff --git a/linkis-engineconn-plugins/hive/pom.xml 
b/linkis-engineconn-plugins/hive/pom.xml
index 30e5f7b411..4790f53648 100644
--- a/linkis-engineconn-plugins/hive/pom.xml
+++ b/linkis-engineconn-plugins/hive/pom.xml
@@ -106,6 +106,14 @@
           <groupId>org.apache.logging.log4j</groupId>
           <artifactId>log4j-slf4j-impl</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-shaded-jetty</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-protocol-shaded</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
 
@@ -206,6 +214,14 @@
           <groupId>org.apache.velocity</groupId>
           <artifactId>velocity</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-shaded-jetty</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-protocol-shaded</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
 
diff --git a/linkis-engineconn-plugins/hive/src/main/assembly/distribution.xml 
b/linkis-engineconn-plugins/hive/src/main/assembly/distribution.xml
index aee427c61b..dead67c582 100644
--- a/linkis-engineconn-plugins/hive/src/main/assembly/distribution.xml
+++ b/linkis-engineconn-plugins/hive/src/main/assembly/distribution.xml
@@ -123,6 +123,13 @@
                 <exclude>org.apache.hadoop:hadoop-common:jar</exclude>
                 <exclude>org.apache.hadoop:hadoop-hdfs:jar</exclude>
                 <exclude>org.apache.htrace:htrace-core:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-jetty:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-jersey:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-gson:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-netty:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-protobuf:jar</exclude>
+                
<exclude>org.apache.hbase:hbase-shaded-miscellaneous:jar</exclude>
+                <exclude>org.apache.hbase:hbase-protocol-shaded:jar</exclude>
                 <exclude>org.apache.logging.log4j:log4j-api:jar</exclude>
                 <exclude>org.apache.logging.log4j:log4j-core:jar</exclude>
                 <exclude>org.apache.logging.log4j:log4j-jul:jar</exclude>
diff --git a/linkis-engineconn-plugins/jdbc/pom.xml 
b/linkis-engineconn-plugins/jdbc/pom.xml
index ebe9f4faf9..c96881e632 100644
--- a/linkis-engineconn-plugins/jdbc/pom.xml
+++ b/linkis-engineconn-plugins/jdbc/pom.xml
@@ -136,7 +136,14 @@
           <groupId>org.xerial.snappy</groupId>
           <artifactId>snappy-java</artifactId>
         </exclusion>
-
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-shaded-jetty</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-protocol-shaded</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
 
diff --git a/linkis-engineconn-plugins/jdbc/src/main/assembly/distribution.xml 
b/linkis-engineconn-plugins/jdbc/src/main/assembly/distribution.xml
index 47f1f7e222..8aadec99a3 100644
--- a/linkis-engineconn-plugins/jdbc/src/main/assembly/distribution.xml
+++ b/linkis-engineconn-plugins/jdbc/src/main/assembly/distribution.xml
@@ -37,6 +37,15 @@
             <useStrictFiltering>false</useStrictFiltering>
             <useTransitiveFiltering>true</useTransitiveFiltering>
 
+            <excludes>
+                <exclude>org.apache.hbase:hbase-shaded-jetty:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-jersey:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-gson:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-netty:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-protobuf:jar</exclude>
+                
<exclude>org.apache.hbase:hbase-shaded-miscellaneous:jar</exclude>
+                <exclude>org.apache.hbase:hbase-protocol-shaded:jar</exclude>
+            </excludes>
         </dependencySet>
     </dependencySets>
 
diff --git 
a/linkis-engineconn-plugins/shell/src/main/scala/org/apache/linkis/manager/engineplugin/shell/configuration/AccessibleExecutorConfiguration.scala
 
b/linkis-engineconn-plugins/shell/src/main/scala/org/apache/linkis/manager/engineplugin/shell/configuration/AccessibleExecutorConfiguration.scala
index 7693bc2a74..dd861f2c8d 100644
--- 
a/linkis-engineconn-plugins/shell/src/main/scala/org/apache/linkis/manager/engineplugin/shell/configuration/AccessibleExecutorConfiguration.scala
+++ 
b/linkis-engineconn-plugins/shell/src/main/scala/org/apache/linkis/manager/engineplugin/shell/configuration/AccessibleExecutorConfiguration.scala
@@ -36,6 +36,7 @@ import org.springframework.context.annotation.{Bean, 
Configuration}
 class AccessibleExecutorConfiguration extends Logging {
 
   @Bean(Array("lockService"))
+  @ConditionalOnMissingBean
   def createLockManager(): LockService = {
     val lockService = new EngineConnConcurrentLockService
     logger.info("use shell engine conn configuration to create concurrent 
lockService")
diff --git a/linkis-public-enhancements/distribution.xml 
b/linkis-public-enhancements/distribution.xml
index 58b75bf1d7..cb8e1920b5 100644
--- a/linkis-public-enhancements/distribution.xml
+++ b/linkis-public-enhancements/distribution.xml
@@ -154,6 +154,28 @@
                 <exclude>org.apache.hadoop:hadoop-common:jar</exclude>
                 <exclude>org.apache.hadoop:hadoop-hdfs:jar</exclude>
                 <exclude>org.apache.htrace:htrace-core:jar</exclude>
+                <exclude>org.apache.hbase:hbase-asyncfs:jar</exclude>
+                <exclude>org.apache.hbase:hbase-client:jar</exclude>
+                <exclude>org.apache.hbase:hbase-common:jar</exclude>
+                <exclude>org.apache.hbase:hbase-hadoop2-compat:jar</exclude>
+                <exclude>org.apache.hbase:hbase-hadoop-compat:jar</exclude>
+                <exclude>org.apache.hbase:hbase-http:jar</exclude>
+                <exclude>org.apache.hbase:hbase-logging:jar</exclude>
+                <exclude>org.apache.hbase:hbase-metrics:jar</exclude>
+                <exclude>org.apache.hbase:hbase-metrics-api:jar</exclude>
+                <exclude>org.apache.hbase:hbase-procedure:jar</exclude>
+                <exclude>org.apache.hbase:hbase-protocol:jar</exclude>
+                <exclude>org.apache.hbase:hbase-replication:jar</exclude>
+                <exclude>org.apache.hbase:hbase-server:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-gson:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-jersey:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-jetty:jar</exclude>
+                
<exclude>org.apache.hbase:hbase-shaded-miscellaneous:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-netty:jar</exclude>
+                <exclude>org.apache.hbase:hbase-shaded-protobuf:jar</exclude>
+                <exclude>org.apache.hbase:hbase-unsafe:jar</exclude>
+                <exclude>org.apache.hbase:hbase-zookeeper:jar</exclude>
+                <exclude>org.apache.hbase:hbase-protocol-shaded:jar</exclude>
                 <exclude>org.apache.logging.log4j:log4j-api:jar</exclude>
                 <exclude>org.apache.logging.log4j:log4j-core:jar</exclude>
                 <exclude>org.apache.logging.log4j:log4j-jul:jar</exclude>
diff --git a/linkis-public-enhancements/linkis-pes-publicservice/pom.xml 
b/linkis-public-enhancements/linkis-pes-publicservice/pom.xml
index 756127ef4b..aa232adeb2 100644
--- a/linkis-public-enhancements/linkis-pes-publicservice/pom.xml
+++ b/linkis-public-enhancements/linkis-pes-publicservice/pom.xml
@@ -98,6 +98,14 @@
           <groupId>org.mortbay.jetty</groupId>
           <artifactId>jetty</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-shaded-jetty</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.hbase</groupId>
+          <artifactId>hbase-protocol-shaded</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
 
diff --git 
a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/config/GatewaySpringConfiguration.scala
 
b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/config/GatewaySpringConfiguration.scala
index 2c57084278..22b7d8acf7 100644
--- 
a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/config/GatewaySpringConfiguration.scala
+++ 
b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/config/GatewaySpringConfiguration.scala
@@ -40,11 +40,15 @@ import java.util.stream.Collectors
 @Configuration
 class GatewaySpringConfiguration {
 
+  @Autowired
+  private var userRestful: UserRestful = _
+
   @Autowired
   private var tokenService: TokenService = _
 
   @PostConstruct
   def init(): Unit = {
+    SecurityFilter.setUserRestful(userRestful)
     TokenAuthentication.setTokenService(tokenService)
   }
 
@@ -54,7 +58,6 @@ class GatewaySpringConfiguration {
   def createUserRestful(securityHooks: Array[SecurityHook]): UserRestful = {
     val userRestful = new LDAPUserRestful
     if (securityHooks != null) userRestful.setSecurityHooks(securityHooks)
-    SecurityFilter.setUserRestful(userRestful)
     userRestful
   }
 
diff --git a/linkis-web/PYTHON_MODULE_CHANGES.md 
b/linkis-web/PYTHON_MODULE_CHANGES.md
deleted file mode 100644
index c5389aacd8..0000000000
--- a/linkis-web/PYTHON_MODULE_CHANGES.md
+++ /dev/null
@@ -1,122 +0,0 @@
-# Python Module Feature Toggle - Implementation Summary
-
-## Changes Made
-
-### 1. Environment Variable Configuration
-**File**: `.env`
-- Added `VUE_APP_ENABLE_PYTHON_MODULE=false` (default disabled)
-- This controls whether the Python Module feature is available
-
-### 2. Router Configuration
-**File**: `src/apps/linkis/router.js`
-
-**Changes**:
-- Added environment variable check: `export const isPythonModuleEnabled = 
process.env.VUE_APP_ENABLE_PYTHON_MODULE === 'true'`
-- Modified pythonModule route to be conditionally loaded:
-  ```javascript
-  ...(isPythonModuleEnabled ? [{
-    name: 'pythonModule',
-    path: 'pythonModule',
-    component: () => import('./module/pythonModule/index.vue'),
-    meta: {
-      title: 'pythonModule',
-      publicPage: true,
-    },
-  }] : []),
-  ```
-
-### 3. View Component Updates
-**File**: `src/apps/linkis/view/linkis/index.vue`
-
-**Changes**:
-- Imported `isPythonModuleEnabled` from router
-- Added to component data: `isPythonModuleEnabled: isPythonModuleEnabled`
-- Modified sidebar menu visibility condition to hide Python Module when 
disabled:
-  ```javascript
-  v-if="(!isLogAdmin? ...) && (item.key !== '1-13' || isPythonModuleEnabled)"
-  ```
-- Updated default redirect logic in `mounted()`:
-  ```javascript
-  if(!localStorage.getItem('hasRead')) {
-    if (isPythonModuleEnabled) {
-      this.clickToRoute('1-13-1')  // Python Module
-    } else {
-      this.clickToRoute('1-1')      // Global History
-    }
-  }
-  ```
-
-## Feature Behavior
-
-### When VUE_APP_ENABLE_PYTHON_MODULE=false (Default)
-✅ **Recommended for users without WeBank npm registry access**
-
-- Python Module route is NOT registered
-- Python Module menu item is HIDDEN from sidebar
-- After login, users are redirected to **Global History** page
-- Accessing `/console/pythonModule` directly will show 404 error
-- No dependency on internal `@webank` packages required
-
-### When VUE_APP_ENABLE_PYTHON_MODULE=true
-⚠️ **Requires WeBank internal npm registry access**
-
-- Python Module route is registered
-- Python Module menu item is VISIBLE in sidebar
-- After login, users are redirected to **Python Module** page (if first time)
-- Accessing `/console/pythonModule` directly works normally
-- Requires successful build of PythonModule sub-application
-
-## Testing
-
-To test the feature toggle:
-
-### Test 1: Disabled State (Default)
-```bash
-# 1. Ensure .env has VUE_APP_ENABLE_PYTHON_MODULE=false
-cat linkis-web/.env | grep VUE_APP_ENABLE_PYTHON_MODULE
-
-# 2. Rebuild
-cd linkis-web
-npm run build
-
-# 3. Verify behavior:
-# - Python Module menu should NOT appear in sidebar
-# - Login should redirect to Global History
-# - /console/pythonModule should return 404
-```
-
-### Test 2: Enabled State
-```bash
-# 1. Update .env
-echo "VUE_APP_ENABLE_PYTHON_MODULE=true" >> linkis-web/.env
-
-# 2. Rebuild
-cd linkis-web
-npm run build
-
-# 3. Verify behavior:
-# - Python Module menu should appear in sidebar
-# - Login should redirect to Python Module
-# - /console/pythonModule should work (if built)
-```
-
-## Migration Notes
-
-- **Backward Compatibility**: Default is `false`, so existing deployments 
won't be affected
-- **No Breaking Changes**: All other features remain unchanged
-- **Easy Rollback**: Simply set `VUE_APP_ENABLE_PYTHON_MODULE=false` and 
rebuild
-
-## Documentation
-
-- Detailed configuration guide: `PYTHON_MODULE_CONFIG.md`
-- This summary document: `PYTHON_MODULE_CHANGES.md`
-
-## Next Steps
-
-For users who want to enable Python Module:
-1. Obtain access to WeBank internal npm registry
-2. Configure `.npmrc` with registry credentials
-3. Set `VUE_APP_ENABLE_PYTHON_MODULE=true` in `.env`
-4. Run `npm run installAll` to install all dependencies
-5. Run `npm run buildSubModule` to build Python Module
-6. Run `npm run build` to build main application
diff --git a/linkis-web/PYTHON_MODULE_CONFIG.md 
b/linkis-web/PYTHON_MODULE_CONFIG.md
deleted file mode 100644
index 6ca023b8b4..0000000000
--- a/linkis-web/PYTHON_MODULE_CONFIG.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# Python Module Feature Configuration
-
-## Overview
-
-The Python Module feature can be enabled or disabled via environment variable 
configuration. This feature depends on internal WeBank npm packages 
(`@webank/fes-design-material`, `@webank/letgo-components`) which are not 
publicly available.
-
-## Configuration
-
-### Environment Variable
-
-Edit the `.env` file in the `linkis-web` root directory:
-
-```bash
-# Enable or disable Python Module feature (true/false)
-# Set to false if you cannot access @webank internal npm packages
-VUE_APP_ENABLE_PYTHON_MODULE=false
-```
-
-### Options
-
-- `VUE_APP_ENABLE_PYTHON_MODULE=true`: Enable Python Module feature
-  - The Python Module menu item will be displayed in the sidebar
-  - After login, users will be redirected to the Python Module page
-  - Requires access to WeBank internal npm registry to build
-
-- `VUE_APP_ENABLE_PYTHON_MODULE=false`: Disable Python Module feature (Default)
-  - The Python Module menu item will be hidden from the sidebar
-  - After login, users will be redirected to the Global History page
-  - No special npm registry access required
-
-## Implementation Details
-
-### Modified Files
-
-1. **`.env`**: Added `VUE_APP_ENABLE_PYTHON_MODULE` environment variable
-2. **`src/apps/linkis/router.js`**:
-   - Added `isPythonModuleEnabled` constant
-   - Conditionally load pythonModule route
-3. **`src/apps/linkis/view/linkis/index.vue`**:
-   - Import `isPythonModuleEnabled` from router
-   - Conditionally display pythonModule in sidebar menu
-   - Modified default redirect logic based on feature flag
-
-### Behavior
-
-When `VUE_APP_ENABLE_PYTHON_MODULE=false`:
-- ❌ Python Module route is not registered
-- ❌ Python Module menu item is hidden
-- ✅ Users are redirected to Global History page after login
-- ✅ Direct access to `/console/pythonModule` will show 404
-
-When `VUE_APP_ENABLE_PYTHON_MODULE=true`:
-- ✅ Python Module route is registered
-- ✅ Python Module menu item is visible
-- ✅ Users are redirected to Python Module page after login (if not `hasRead`)
-- ✅ Direct access to `/console/pythonModule` works
-
-## Building
-
-After changing the environment variable:
-
-```bash
-# Rebuild the project
-cd linkis-web
-npm run build
-```
-
-## For Internal Users
-
-If you have access to WeBank's internal npm registry:
-
-1. Set `VUE_APP_ENABLE_PYTHON_MODULE=true` in `.env`
-2. Configure npm registry (contact your administrator for registry URL)
-3. Install dependencies: `npm run installAll`
-4. Build PythonModule: `npm run buildSubModule`
-5. Build main application: `npm run build`
-
-## Troubleshooting
-
-### Issue: 404 Error when accessing Python Module
-
-**Solution**: Check that `VUE_APP_ENABLE_PYTHON_MODULE=true` and rebuild the 
application
-
-### Issue: Python Module menu not showing
-
-**Solution**:
-1. Verify `.env` has `VUE_APP_ENABLE_PYTHON_MODULE=true`
-2. Clear browser cache
-3. Rebuild: `npm run build`
-
-### Issue: Cannot install dependencies for PythonModule
-
-**Solution**:
-1. Set `VUE_APP_ENABLE_PYTHON_MODULE=false` to disable the feature
-2. Or configure access to WeBank internal npm registry
diff --git a/linkis-web/src/apps/linkis/module/datasourceAccess/index.vue 
b/linkis-web/src/apps/linkis/module/datasourceAccess/index.vue
index f0fda1cb48..1622626504 100644
--- a/linkis-web/src/apps/linkis/module/datasourceAccess/index.vue
+++ b/linkis-web/src/apps/linkis/module/datasourceAccess/index.vue
@@ -27,7 +27,7 @@
         }}
         </Button>
         <Button type="success" class="Button" style="margin-left: 10px" 
@click="onAdd()">{{
-          $t('message.linkis.basedata.add')
+          $t('message.linkis.basedataManagement.add')
         }}
         </Button>
       </Col>
@@ -77,7 +77,7 @@
       width="800"
       class="modal"
       v-model="modalShow"
-      :title="modalAddMode=='add' ? $t('message.linkis.basedata.add') : 
$t('message.linkis.basedata.edit')"
+      :title="modalAddMode=='add' ? 
$t('message.linkis.basedataManagement.add') : 
$t('message.linkis.basedata.edit')"
       :loading="modalLoading"
     >
       <div slot="footer">
diff --git a/linkis-web/src/apps/linkis/router.js 
b/linkis-web/src/apps/linkis/router.js
index 0f63d27828..3c93555150 100644
--- a/linkis-web/src/apps/linkis/router.js
+++ b/linkis-web/src/apps/linkis/router.js
@@ -15,6 +15,9 @@
  * limitations under the License.
  */
 
+// Import from a separate module to avoid circular dependency with 
dynamic-modules
+import pythonModuleConfig from 'python-module-config'
+
 export const subAppRoutes = {
   path: '',
   name: 'layout',
@@ -27,8 +30,9 @@ export const subAppRoutes = {
   children: []
 }
 
-// Check if Python Module is enabled via environment variable
-export const isPythonModuleEnabled = process.env.VUE_APP_ENABLE_PYTHON_MODULE 
=== 'true'
+// Check if Python Module is enabled via build-time parameter
+// Default: enabled, use PYTHON_MODULE=false to disable
+export const isPythonModuleEnabled = pythonModuleConfig.enablePythonModule
 
 export default [
   {
@@ -281,16 +285,6 @@ export default [
         publicPage: true,
       },
     }] : []),
-    {
-      name: 'pythonModule',
-      path: 'pythonModule',
-      component: () =>
-        import('./module/pythonModule/index.vue'),
-      meta: {
-        title: 'pythonModule',
-        publicPage: true,
-      },
-    },
     {
       name: 'datasourceAccess',
       path: 'datasourceAccess',
diff --git a/linkis-web/src/apps/linkis/view/linkis/index.vue 
b/linkis-web/src/apps/linkis/view/linkis/index.vue
index e96bf1d0f8..ffb91656a3 100644
--- a/linkis-web/src/apps/linkis/view/linkis/index.vue
+++ b/linkis-web/src/apps/linkis/view/linkis/index.vue
@@ -30,17 +30,17 @@
             <CellGroup v-for="(item, index2) in sideNavList.children" 
:key="index2"
               @on-click="handleCellClick">
               <Cell
-                v-if="!isLogAdmin? (item.path !=='/console/ECM')&&(item.path 
!=='/console/microService')&&(item.key !== '1-12'):true"
+                v-if="(item.key !== '1-13' || isPythonModuleEnabled) && 
(!isLogAdmin? (item.path !=='/console/ECM')&&(item.path 
!=='/console/microService')&&(item.key !== '1-12'):true)"
                 :key="index2" :class="{ crrentItem: crrentItem === item.key }" 
:title="item.name"
                 :name="item.key">
                 <div>
                   <span>{{item.name}}</span>
                   <div class="sub-menu-row">
                     <Icon
-                      v-show="item.showSubMenu && (item.key === '1-8' || 
item.key === '1-9' || item.key === '1-10' || item.key === '1-12' || item.key 
=== '1-13')"
+                      v-show="item.showSubMenu && (item.key === '1-8' || 
item.key === '1-9' || item.key === '1-10' || item.key === '1-12' || (item.key 
=== '1-13' && isPythonModuleEnabled))"
                       type="ios-arrow-down" class="user-icon" />
                     <Icon
-                      v-show="!item.showSubMenu && (item.key === '1-8' || 
item.key === '1-9' || item.key === '1-10' || item.key === '1-12' || item.key 
=== '1-13')"
+                      v-show="!item.showSubMenu && (item.key === '1-8' || 
item.key === '1-9' || item.key === '1-10' || item.key === '1-12' || (item.key 
=== '1-13' && isPythonModuleEnabled))"
                       type="ios-arrow-up" class="user-icon" />
                   </div>
                 </div>
@@ -51,7 +51,7 @@
                       v-for="(item3, index3) in getChildMap(item.key).children"
                       :key="index3" @on-click="clickToRoute">
                       <div
-                        v-if="isLogAdmin ? true : ['1-8-1', '1-9-2', '1-9-1', 
'1-10-7', '1-13-1'].includes(item3.key)">
+                        v-if="(item.key !== '1-13' || isPythonModuleEnabled) 
&& (isLogAdmin ? true : ['1-8-1', '1-9-2', '1-9-1', 
'1-10-7'].includes(item3.key))">
                         <Cell :key="index3" :class="{ crrentItem: crrentItem 
=== item3.key }"
                           :title="item3.name" :name="item3.key" />
                       </div>
@@ -116,6 +116,7 @@
 <script>
 import storage from '@/common/helper/storage'
 import api from '@/common/service/api'
+import { isPythonModuleEnabled } from '../../router'
 export default {
   name: 'Layout',
   mounted() {
@@ -128,9 +129,12 @@ export default {
       }
     })
     if(!localStorage.getItem('hasRead')) {
-      this.clickToRoute('1-13-1')
-      // this.crrentItem = '1-13-1'
-      // this.$router.push({path: '/console/pythonModule'})
+      // Redirect based on pythonModule feature toggle
+      if (isPythonModuleEnabled) {
+        this.clickToRoute('1-13-1')
+      } else {
+        this.clickToRoute('1-1')
+      }
     }
   },
   unmounted() {
@@ -147,6 +151,7 @@ export default {
     return {
       crrentItem: '1-1',
       isLogAdmin: false,
+      isPythonModuleEnabled: isPythonModuleEnabled,
       sideNavList: {
         key: '1',
         name: this.$t('message.linkis.sideNavList.function.name'),
@@ -596,7 +601,9 @@ export default {
         })
 
         next((vm) => {
-          const noAccess = !isLogAdmin && !['1-1', '1-2', '1-3', '1-4', 
'1-8-1', '1-9-1', '1-9-2', '1-10-7', '1-11'].includes(lastActiveConsole?.key)
+          // Check if pythonModule is disabled and lastActiveConsole was 
pythonModule
+          const pythonModuleDisabled = !isPythonModuleEnabled && 
lastActiveConsole?.key === '1-13-1'
+          const noAccess = pythonModuleDisabled || (!isLogAdmin && !['1-1', 
'1-2', '1-3', '1-4', '1-8-1', '1-9-1', '1-9-2', '1-10-7', 
'1-11'].includes(lastActiveConsole?.key))
           if (lastActiveConsole && !noAccess ) {
             if (
               lastActiveConsole?.key === '1-9-1' ||
diff --git a/linkis-web/src/dss/view/login/index.vue 
b/linkis-web/src/dss/view/login/index.vue
index 1be75fc68e..775e6dfae3 100644
--- a/linkis-web/src/dss/view/login/index.vue
+++ b/linkis-web/src/dss/view/login/index.vue
@@ -75,9 +75,10 @@ import { db } from '@/common/service/db/index.js';
 import { config } from '@/common/config/db.js';
 import JSEncrypt from 'jsencrypt';
 import tab from '@/apps/scriptis/service/db/tab.js';
+import disallowLoginConfig from 'disallow-login-config';
 
-const DISALLOW_LOGIN = process.env.VUE_APP_DISALLOW_LOGIN === 'true'
-const DISALLOW_LOGIN_PREFIX = (process.env.VUE_APP_DISALLOW_LOGIN_PREFIX || 
'').split(',').filter(Boolean).map(v=>{
+const DISALLOW_LOGIN = disallowLoginConfig.enableDisallowLogin
+const DISALLOW_LOGIN_PREFIX = (disallowLoginConfig.disallowLoginPrefix || 
'').split(',').filter(Boolean).map(v=>{
   return new RegExp(`^${v}`)
 });
 export default {
diff --git a/linkis-web/vue.config.js b/linkis-web/vue.config.js
index 3f71e18303..9ce50a416c 100644
--- a/linkis-web/vue.config.js
+++ b/linkis-web/vue.config.js
@@ -31,6 +31,13 @@ const getVersion = () => {
 // 指定module打包, 不指定则打包全部子应用
 // npm run serve --module=scriptis
 let modules = process.env.npm_config_module || ''
+// python_module feature toggle: default enabled, use PYTHON_MODULE=false to 
disable
+// Usage: PYTHON_MODULE=false npm run build
+// Note: npm 7+ converts npm_config_python_module to npm_config_python-module
+const enablePythonModule = process.env.PYTHON_MODULE !== 'false' && 
process.env.npm_config_python_module !== 'false' && 
process.env.npm_config_python_module !== 'false'
+// disallow_login feature toggle: default enabled, use DISALLOW_LOGIN=false to 
disable
+// Usage: DISALLOW_LOGIN=false npm run build
+const enableDisallowLogin = process.env.DISALLOW_LOGIN !== 'false' && 
process.env.npm_config_disallow_login !== 'false' && 
process.env.npm_config_disallow_login !== 'false'
 if (modules) {
   modules = modules.split(',')
   Object.keys(apps).forEach(m => {
@@ -81,7 +88,15 @@ const virtualModules = new VirtualModulesPlugin({
     requireComponent: [${requireComponent.join(',')}],
     requireComponentVue: [${requireComponentVue.join(',')}],
     microModule: ${JSON.stringify(process.env.npm_config_micro_module) || 
false},
-    headers:{${headers.join(',')}}
+    headers:{${headers.join(',')}},
+    enablePythonModule: ${enablePythonModule}
+  };`,
+  'node_modules/python-module-config.js': `module.exports = {
+    enablePythonModule: ${enablePythonModule}
+  };`,
+  'node_modules/disallow-login-config.js': `module.exports = {
+    enableDisallowLogin: ${enableDisallowLogin},
+    disallowLoginPrefix: 
${JSON.stringify(process.env.VUE_APP_DISALLOW_LOGIN_PREFIX || 
'hduser,shduser,hadoop')}
   };`
 });
 
diff --git a/pom.xml b/pom.xml
index 427100d0e9..f28924eb4c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -102,7 +102,7 @@
     </snapshotRepository>
   </distributionManagement>
   <properties>
-    <revision>1.8.0</revision>
+    <revision>1.9.0</revision>
     <jedis.version>2.9.2</jedis.version>
     <spark.version>2.4.3</spark.version>
     <hadoop.version>2.7.2</hadoop.version>
@@ -1595,7 +1595,7 @@
     <profile>
       <id>spark-3</id>
       <properties>
-        <revision>1.8.0-spark3</revision>
+        <revision>1.9.0-spark3</revision>
         <json4s.version>3.7.0-M11</json4s.version>
         <spark.version>3.4.4</spark.version>
         <scala.version>2.12.17</scala.version>
@@ -1612,7 +1612,7 @@
       <id>apache</id>
       <properties>
         <!-- Core Version -->
-        <revision>1.8.0</revision>
+        <revision>1.9.0</revision>
 
         <!-- Hadoop Ecosystem -->
         <hadoop.version>3.3.4</hadoop.version>
@@ -1702,7 +1702,7 @@
 
         <!-- Other -->
         <poi.version>5.3.0</poi.version>
-        <jline.version>3.9.0</jline.version>
+        <jline.version>2.14.6</jline.version>
         <woodstox.version>6.4.0</woodstox.version>
         <sparkmeasure.version>0.24</sparkmeasure.version>
         <flink.version>1.16.2</flink.version>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to