You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hugegraph.apache.org by ji...@apache.org on 2022/11/09 10:32:12 UTC

[incubator-hugegraph-toolchain] branch master updated: refact: adopt & use apache version in toolchain (#353) (#360)

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

jin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph-toolchain.git


The following commit(s) were added to refs/heads/master by this push:
     new c893f509 refact: adopt & use apache version in toolchain (#353) (#360)
c893f509 is described below

commit c893f50910732274477df98c95f570fce136f609
Author: imbajin <ji...@apache.org>
AuthorDate: Wed Nov 9 18:32:04 2022 +0800

    refact: adopt & use apache version in toolchain (#353) (#360)
    
    * refact: adopt & use apache version in toolchain (#353)
    
    * adopt the latest code & enable loader test
    
    * add "-am" back
    
    * fix jersey conflicts in spark
    
    * use "-pl" for maven instead of "cd xx-path"
    
    * enable all tests & fix configs
    
    * reopen ignore ut (#361)
    
    Co-authored-by: 青年 <10...@qq.com>
---
 .github/workflows/check-dependencies.yml           |   2 +-
 .github/workflows/client-ci.yml                    |   5 +-
 .github/workflows/hubble-ci.yml                    |   7 ++-
 .github/workflows/loader-ci.yml                    |  11 +++--
 .github/workflows/release.yml                      |   2 +-
 .github/workflows/tools-ci.yml                     |   6 +--
 hugegraph-client/pom.xml                           |   4 +-
 .../src/main/java/com/baidu/hugegraph/api/API.java |   2 +-
 .../com/baidu/hugegraph/api/auth/AccessAPI.java    |   2 +-
 .../com/baidu/hugegraph/api/auth/BelongAPI.java    |   2 +-
 .../com/baidu/hugegraph/api/auth/GroupAPI.java     |   2 +-
 .../com/baidu/hugegraph/api/auth/LoginAPI.java     |   2 +-
 .../com/baidu/hugegraph/api/auth/ProjectAPI.java   |   2 +-
 .../com/baidu/hugegraph/api/auth/TargetAPI.java    |   2 +-
 .../com/baidu/hugegraph/api/auth/TokenAPI.java     |   2 +-
 .../java/com/baidu/hugegraph/api/auth/UserAPI.java |   2 +-
 .../com/baidu/hugegraph/api/graph/EdgeAPI.java     |   2 +-
 .../com/baidu/hugegraph/api/graph/GraphAPI.java    |   2 +-
 .../com/baidu/hugegraph/api/graph/VertexAPI.java   |   2 +-
 .../com/baidu/hugegraph/api/graphs/GraphsAPI.java  |   2 +-
 .../com/baidu/hugegraph/api/gremlin/CypherAPI.java |   2 +-
 .../baidu/hugegraph/api/gremlin/GremlinAPI.java    |   2 +-
 .../com/baidu/hugegraph/api/job/GremlinJobAPI.java |   2 +-
 .../com/baidu/hugegraph/api/job/RebuildAPI.java    |   4 +-
 .../baidu/hugegraph/api/metrics/MetricsAPI.java    |   2 +-
 .../baidu/hugegraph/api/schema/EdgeLabelAPI.java   |   4 +-
 .../baidu/hugegraph/api/schema/IndexLabelAPI.java  |   4 +-
 .../baidu/hugegraph/api/schema/PropertyKeyAPI.java |   4 +-
 .../com/baidu/hugegraph/api/schema/SchemaAPI.java  |   2 +-
 .../baidu/hugegraph/api/schema/VertexLabelAPI.java |   4 +-
 .../java/com/baidu/hugegraph/api/task/TaskAPI.java |   6 +--
 .../api/traverser/AllShortestPathsAPI.java         |   2 +-
 .../baidu/hugegraph/api/traverser/CountAPI.java    |   4 +-
 .../hugegraph/api/traverser/CrosspointsAPI.java    |   2 +-
 .../api/traverser/CustomizedCrosspointsAPI.java    |   2 +-
 .../api/traverser/CustomizedPathsAPI.java          |   2 +-
 .../baidu/hugegraph/api/traverser/EdgesAPI.java    |   4 +-
 .../api/traverser/FusiformSimilarityAPI.java       |   2 +-
 .../api/traverser/JaccardSimilarityAPI.java        |   9 ++--
 .../hugegraph/api/traverser/KneighborAPI.java      |   2 +-
 .../com/baidu/hugegraph/api/traverser/KoutAPI.java |   2 +-
 .../api/traverser/MultiNodeShortestPathAPI.java    |   2 +-
 .../hugegraph/api/traverser/NeighborRankAPI.java   |   4 +-
 .../baidu/hugegraph/api/traverser/PathsAPI.java    |   2 +-
 .../hugegraph/api/traverser/PersonalRankAPI.java   |   4 +-
 .../com/baidu/hugegraph/api/traverser/RaysAPI.java |   2 +-
 .../baidu/hugegraph/api/traverser/RingsAPI.java    |   2 +-
 .../hugegraph/api/traverser/SameNeighborsAPI.java  |   2 +-
 .../hugegraph/api/traverser/ShortestPathAPI.java   |   2 +-
 .../api/traverser/SingleSourceShortestPathAPI.java |   4 +-
 .../hugegraph/api/traverser/TemplatePathsAPI.java  |   2 +-
 .../hugegraph/api/traverser/TraversersAPI.java     |   2 +-
 .../baidu/hugegraph/api/traverser/VerticesAPI.java |   4 +-
 .../api/traverser/WeightedShortestPathAPI.java     |   4 +-
 .../hugegraph/api/variables/VariablesAPI.java      |   2 +-
 .../baidu/hugegraph/api/version/VersionAPI.java    |   2 +-
 .../com/baidu/hugegraph/client/RestClient.java     |  12 ++---
 .../com/baidu/hugegraph/driver/GraphManager.java   |   2 +-
 .../com/baidu/hugegraph/driver/HugeClient.java     |  17 +++----
 .../baidu/hugegraph/driver/HugeClientBuilder.java  |   2 +-
 .../baidu/hugegraph/driver/TraverserManager.java   |   2 +-
 .../exception/InvalidOperationException.java       |   3 +-
 .../exception/InvalidResponseException.java        |   2 +-
 .../hugegraph/exception/NotSupportException.java   |   2 +-
 .../baidu/hugegraph/exception/ServerException.java |   2 +-
 .../serializer/direct/struct/DataType.java         |   9 ++--
 .../serializer/direct/util/BytesBuffer.java        |  13 ++++--
 .../baidu/hugegraph/serializer/direct/util/Id.java |  28 +++++------
 .../serializer/direct/util/IdGenerator.java        |  12 ++---
 .../hugegraph/serializer/direct/util/LZ4Util.java  |   1 -
 .../serializer/direct/util/StringEncoding.java     |   5 +-
 .../baidu/hugegraph/structure/GraphElement.java    |   4 +-
 .../java/com/baidu/hugegraph/structure/Task.java   |   2 +-
 .../hugegraph/structure/auth/HugeResource.java     |   1 -
 .../structure/graph/BatchEdgeRequest.java          |   2 +-
 .../structure/graph/BatchOlapPropertyRequest.java  |   2 +-
 .../structure/graph/BatchVertexRequest.java        |   2 +-
 .../com/baidu/hugegraph/structure/graph/Edge.java  |   2 +-
 .../com/baidu/hugegraph/structure/graph/Graph.java |   2 +-
 .../hugegraph/structure/graph/GraphIterator.java   |   2 +-
 .../baidu/hugegraph/structure/graph/Vertex.java    |   2 +-
 .../hugegraph/structure/gremlin/ResultSet.java     |   4 +-
 .../hugegraph/structure/schema/EdgeLabel.java      |   7 +--
 .../hugegraph/structure/schema/IndexLabel.java     |   4 +-
 .../hugegraph/structure/schema/PropertyKey.java    |   2 +-
 .../hugegraph/structure/schema/VertexLabel.java    |   4 +-
 .../structure/traverser/CountRequest.java          |   2 +-
 .../structure/traverser/CrosspointsRequest.java    |   2 +-
 .../traverser/CustomizedPathsRequest.java          |   2 +-
 .../traverser/FusiformSimilarityRequest.java       |   2 +-
 .../structure/traverser/KneighborRequest.java      |   2 +-
 .../hugegraph/structure/traverser/KoutRequest.java |  20 ++++----
 .../traverser/MultiNodeShortestPathRequest.java    |   2 +-
 .../structure/traverser/PathsRequest.java          |   2 +-
 .../SingleSourceJaccardSimilarityRequest.java      |   2 +-
 .../structure/traverser/TemplatePathsRequest.java  |   2 +-
 .../structure/traverser/VerticesArgs.java          |   2 +-
 .../java/com/baidu/hugegraph/util/CommonUtil.java  |   2 +
 .../java/com/baidu/hugegraph/util/JsonUtil.java    |   2 +-
 .../java/com/baidu/hugegraph/util/TaskCache.java   |   5 +-
 .../com/baidu/hugegraph/version/ClientVersion.java |   5 +-
 .../java/com/baidu/hugegraph/BaseClientTest.java   |   2 +-
 .../java/com/baidu/hugegraph/api/BaseApiTest.java  |   4 +-
 .../hugegraph/api/BatchUpdateElementApiTest.java   |   4 +-
 .../com/baidu/hugegraph/api/CypherApiTest.java     |   2 +-
 .../java/com/baidu/hugegraph/api/EdgeApiTest.java  |   4 +-
 .../com/baidu/hugegraph/api/EdgeLabelApiTest.java  |   4 +-
 .../com/baidu/hugegraph/api/GraphsApiTest.java     |   6 +--
 .../com/baidu/hugegraph/api/GremlinApiTest.java    |   4 +-
 .../com/baidu/hugegraph/api/IndexLabelApiTest.java |   6 +--
 .../java/com/baidu/hugegraph/api/JobApiTest.java   |   2 +-
 .../baidu/hugegraph/api/PropertyKeyApiTest.java    |   4 +-
 .../com/baidu/hugegraph/api/RestoreApiTest.java    |   2 +-
 .../com/baidu/hugegraph/api/SchemaApiTest.java     |   2 +-
 .../java/com/baidu/hugegraph/api/TaskApiTest.java  |   2 +-
 .../com/baidu/hugegraph/api/VariablesApiTest.java  |   2 +-
 .../com/baidu/hugegraph/api/VertexApiTest.java     |   4 +-
 .../baidu/hugegraph/api/VertexLabelApiTest.java    |   4 +-
 .../baidu/hugegraph/api/auth/AccessApiTest.java    |   4 +-
 .../baidu/hugegraph/api/auth/BelongApiTest.java    |   4 +-
 .../com/baidu/hugegraph/api/auth/GroupApiTest.java |   4 +-
 .../com/baidu/hugegraph/api/auth/LoginApiTest.java |   2 +-
 .../baidu/hugegraph/api/auth/LogoutApiTest.java    |   4 +-
 .../baidu/hugegraph/api/auth/ProjectApiTest.java   |   2 +-
 .../baidu/hugegraph/api/auth/TargetApiTest.java    |   4 +-
 .../com/baidu/hugegraph/api/auth/TokenApiTest.java |   4 +-
 .../com/baidu/hugegraph/api/auth/UserApiTest.java  |   4 +-
 .../api/traverser/AllShortestPathsApiTest.java     |   2 +-
 .../api/traverser/CommonTraverserApiTest.java      |   2 +-
 .../hugegraph/api/traverser/CountApiTest.java      |   2 +-
 .../api/traverser/CustomizedPathsApiTest.java      |   2 +-
 .../api/traverser/FusiformSimilarityApiTest.java   |   2 +-
 .../api/traverser/JaccardSimilarityApiTest.java    |   2 +-
 .../hugegraph/api/traverser/KneighborApiTest.java  |   2 +-
 .../baidu/hugegraph/api/traverser/KoutApiTest.java |   2 +-
 .../traverser/MultiNodeShortestPathApiTest.java    |   2 +-
 .../api/traverser/NeighborRankApiTest.java         |   2 +-
 .../hugegraph/api/traverser/PathsApiTest.java      |   2 +-
 .../api/traverser/PersonalRankApiTest.java         |   2 +-
 .../hugegraph/api/traverser/RingsRaysApiTest.java  |   2 +-
 .../api/traverser/SameNeighborsApiTest.java        |   2 +-
 .../api/traverser/ShortestPathApiTest.java         |   2 +-
 .../traverser/SingleSourceShortestPathApiTest.java |   2 +-
 .../api/traverser/TemplatePathsApiTest.java        |   2 +-
 .../api/traverser/WeightedShortestPathApiTest.java |   2 +-
 .../hugegraph/functional/AuthManagerTest.java      |   2 +-
 .../hugegraph/functional/BatchInsertTest.java      |   2 +-
 .../baidu/hugegraph/functional/EdgeLabelTest.java  |   6 ++-
 .../com/baidu/hugegraph/functional/EdgeTest.java   |   4 +-
 .../hugegraph/functional/GraphManagerTest.java     |   2 +-
 .../baidu/hugegraph/functional/GraphModeTest.java  |   2 +-
 .../hugegraph/functional/HugeClientHttpsTest.java  |   2 +-
 .../baidu/hugegraph/functional/HugeClientTest.java |   2 +-
 .../baidu/hugegraph/functional/IndexLabelTest.java |   6 ++-
 .../hugegraph/functional/MetricsManagerTest.java   |   2 +-
 .../hugegraph/functional/PropertyKeyTest.java      |   4 +-
 .../com/baidu/hugegraph/functional/SchemaTest.java |   2 +-
 .../hugegraph/functional/TraverserManagerTest.java |   2 +-
 .../hugegraph/functional/VertexLabelTest.java      |   6 ++-
 .../com/baidu/hugegraph/functional/VertexTest.java |   2 +-
 .../java/com/baidu/hugegraph/testutil/Utils.java   |   7 +--
 .../hugegraph/unit/BatchElementRequestTest.java    |   4 +-
 .../com/baidu/hugegraph/unit/CommonUtilTest.java   |   2 +-
 .../com/baidu/hugegraph/unit/IndexLabelTest.java   |   2 +-
 .../baidu/hugegraph/unit/PathSerializerTest.java   |   2 +-
 .../com/baidu/hugegraph/unit/PropertyKeyTest.java  |   2 +-
 .../com/baidu/hugegraph/unit/RestResultTest.java   |   4 +-
 .../baidu/hugegraph/unit/VertexSerializerTest.java |   2 +-
 hugegraph-hubble/hubble-be/pom.xml                 |   7 +--
 .../com/baidu/hugegraph/config/HubbleConfig.java   |   2 +
 .../hugegraph/config/TomcatServletConfig.java      |   1 +
 .../controller/GraphConnectionController.java      |   2 +-
 .../hugegraph/controller/SettingController.java    |   2 +-
 .../controller/load/FileMappingController.java     |   2 +-
 .../controller/load/FileUploadController.java      |   4 +-
 .../controller/schema/EdgeLabelController.java     |   2 +-
 .../controller/schema/VertexLabelController.java   |   2 +-
 .../hugegraph/handler/CustomApplicationRunner.java |   2 +-
 .../com/baidu/hugegraph/license/ServerInfo.java    |   2 +
 .../com/baidu/hugegraph/options/HubbleOptions.java |  16 +++----
 .../hugegraph/service/HugeClientPoolService.java   |   2 +-
 .../baidu/hugegraph/service/SettingSSLService.java |   2 +-
 .../hugegraph/service/load/FileMappingService.java |   4 +-
 .../hugegraph/service/load/LoadTaskService.java    |   2 +-
 .../service/query/ExecuteHistoryService.java       |   2 +-
 .../service/query/GremlinQueryService.java         |   4 +-
 .../hugegraph/service/schema/SchemaService.java    |   2 +-
 .../com/baidu/hugegraph/util/HugeClientUtil.java   |   2 +-
 .../com/baidu/hugegraph/util/SerializeUtil.java    |   1 +
 .../com/baidu/hugegraph/version/HubbleVersion.java |   5 +-
 .../com/baidu/hugegraph/unit/EntityUtilTest.java   |   2 +-
 .../com/baidu/hugegraph/unit/FileUtilTest.java     |   2 +-
 .../assembly/static/lib/ojdbc8-12.2.0.1.jar        | Bin 0 -> 4036257 bytes
 hugegraph-loader/pom.xml                           |  52 +++++++++++++++------
 .../baidu/hugegraph/loader/HugeGraphLoader.java    |   2 +-
 .../baidu/hugegraph/loader/MappingConverter.java   |   4 +-
 .../hugegraph/loader/builder/EdgeBuilder.java      |   2 +-
 .../hugegraph/loader/builder/ElementBuilder.java   |   4 +-
 .../hugegraph/loader/builder/VertexBuilder.java    |   2 +-
 .../hugegraph/loader/executor/LoadContext.java     |   2 +-
 .../hugegraph/loader/executor/LoadOptions.java     |   4 +-
 .../baidu/hugegraph/loader/failure/FailLogger.java |   2 +-
 .../baidu/hugegraph/loader/failure/FailWriter.java |   2 +-
 .../loader/flink/HugeGraphDeserialization.java     |   2 +-
 .../loader/flink/HugeGraphFlinkCDCLoader.java      |   2 +-
 .../loader/flink/HugeGraphOutputFormat.java        |   2 +-
 .../hugegraph/loader/mapping/EdgeMapping.java      |   2 +-
 .../hugegraph/loader/mapping/ElementMapping.java   |   2 +-
 .../hugegraph/loader/mapping/InputStruct.java      |   2 +-
 .../hugegraph/loader/mapping/LoadMapping.java      |   2 +-
 .../hugegraph/loader/metrics/LoadSummary.java      |   2 +-
 .../hugegraph/loader/parser/JsonLineParser.java    |   2 +-
 .../hugegraph/loader/parser/TextLineParser.java    |   2 +-
 .../hugegraph/loader/progress/InputProgress.java   |   2 +-
 .../hugegraph/loader/progress/LoadProgress.java    |   2 +-
 .../loader/reader/file/FileLineFetcher.java        |   6 +--
 .../hugegraph/loader/reader/file/FileReader.java   |   2 +-
 .../loader/reader/file/OrcFileLineFetcher.java     |   2 +-
 .../loader/reader/file/ParquetFileLineFetcher.java |   2 +-
 .../loader/reader/hdfs/HDFSFileReader.java         |   2 +-
 .../hugegraph/loader/reader/jdbc/RowFetcher.java   |   4 +-
 .../baidu/hugegraph/loader/reader/line/Line.java   |   2 +-
 .../hugegraph/loader/reader/line/LineFetcher.java  |   2 +-
 .../hugegraph/loader/source/AbstractSource.java    |   4 +-
 .../hugegraph/loader/source/file/FileSource.java   |   2 +-
 .../hugegraph/loader/source/hdfs/HDFSSource.java   |   2 +-
 .../loader/source/hdfs/KerberosConfig.java         |   2 +-
 .../hugegraph/loader/source/jdbc/JDBCSource.java   |   2 +-
 .../hugegraph/loader/source/jdbc/JDBCVendor.java   |   2 +-
 .../loader/spark/HugeGraphSparkLoader.java         |   2 +-
 .../hugegraph/loader/struct/EdgeStructV1.java      |   2 +-
 .../hugegraph/loader/struct/ElementStructV1.java   |   4 +-
 .../hugegraph/loader/struct/GraphStructV1.java     |   4 +-
 .../hugegraph/loader/task/BatchInsertTask.java     |   4 +-
 .../hugegraph/loader/task/ParseTaskBuilder.java    |   4 +-
 .../hugegraph/loader/task/SingleInsertTask.java    |   2 +-
 .../baidu/hugegraph/loader/task/TaskManager.java   |   4 +-
 .../baidu/hugegraph/loader/util/DataTypeUtil.java  |   6 +--
 .../com/baidu/hugegraph/loader/util/DateUtil.java  |   2 +-
 .../hugegraph/loader/util/HugeClientHolder.java    |   4 +-
 .../com/baidu/hugegraph/loader/util/JsonUtil.java  |   6 +--
 .../com/baidu/hugegraph/loader/util/LoadUtil.java  |   2 +-
 .../baidu/hugegraph/loader/util/MappingUtil.java   |   4 +-
 .../com/baidu/hugegraph/loader/util/Printer.java   |   4 +-
 .../loader/test/functional/FileLoadTest.java       |  11 +++--
 .../loader/test/functional/HDFSLoadTest.java       |   4 +-
 .../hugegraph/loader/test/functional/HDFSUtil.java |   2 +-
 .../hugegraph/loader/test/functional/IOUtil.java   |  28 +++++------
 .../loader/test/functional/JDBCLoadTest.java       |   5 +-
 .../hugegraph/loader/test/functional/LoadTest.java |  15 +++---
 .../hugegraph/loader/test/unit/DateUtilTest.java   |   2 +-
 .../baidu/hugegraph/loader/test/unit/LineTest.java |   2 +-
 .../loader/test/unit/LoadProgressTest.java         |   4 +-
 .../loader/test/unit/MappingConverterTest.java     |   3 +-
 .../loader/test/unit/RangesTimerTest.java          |   2 +-
 hugegraph-tools/pom.xml                            |  26 ++++++++++-
 .../java/com/baidu/hugegraph/base/Directory.java   |   2 +-
 .../com/baidu/hugegraph/base/HdfsDirectory.java    |   4 +-
 .../com/baidu/hugegraph/base/LocalDirectory.java   |   4 +-
 .../java/com/baidu/hugegraph/base/ToolClient.java  |   2 +-
 .../java/com/baidu/hugegraph/base/ToolManager.java |   2 +-
 .../com/baidu/hugegraph/cmd/HugeGraphCommand.java  |   2 +-
 .../java/com/baidu/hugegraph/cmd/SubCommands.java  |   4 +-
 .../manager/AuthBackupRestoreManager.java          |   2 +-
 .../com/baidu/hugegraph/manager/BackupManager.java |   2 +-
 .../manager/BackupRestoreBaseManager.java          |   4 +-
 .../baidu/hugegraph/manager/RestoreManager.java    |   2 +-
 .../hugegraph/test/functional/AuthBackupTest.java  |   4 +-
 .../hugegraph/test/functional/AuthRestoreTest.java |   4 +-
 .../hugegraph/test/functional/CommandTest.java     |   2 +-
 pom.xml                                            |  42 +++++++++++++++++
 271 files changed, 563 insertions(+), 462 deletions(-)

diff --git a/.github/workflows/check-dependencies.yml b/.github/workflows/check-dependencies.yml
index a414f8d6..2dbc48cd 100644
--- a/.github/workflows/check-dependencies.yml
+++ b/.github/workflows/check-dependencies.yml
@@ -18,7 +18,7 @@ jobs:
           distribution: 'adopt'
       - name: mvn install
         run: |
-          mvn install -DskipTests=true
+          mvn install -DskipTests=true -Dmaven.javadoc.skip=true -ntp
       - name: generate current dependencies
         run: |
           bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh current-dependencies.txt
diff --git a/.github/workflows/client-ci.yml b/.github/workflows/client-ci.yml
index 9f75fd23..0442a7cf 100644
--- a/.github/workflows/client-ci.yml
+++ b/.github/workflows/client-ci.yml
@@ -48,8 +48,7 @@ jobs:
 
       - name: Compile
         run: |
-          cd hugegraph-client && ls *
-          mvn -e compile -Dmaven.javadoc.skip=true -ntp
+          mvn -e compile -pl hugegraph-client -Dmaven.javadoc.skip=true -ntp
 
       - name: Prepare env and service
         run: |
@@ -58,7 +57,7 @@ jobs:
       - name: Run test
         run: |
           cd hugegraph-client && ls *
-          mvn test -Dtest=UnitTestSuite
+          mvn test -Dtest=UnitTestSuite -ntp
           mvn test -Dtest=ApiTestSuite
           mvn test -Dtest=FuncTestSuite
 
diff --git a/.github/workflows/hubble-ci.yml b/.github/workflows/hubble-ci.yml
index 3510cf5e..12930266 100644
--- a/.github/workflows/hubble-ci.yml
+++ b/.github/workflows/hubble-ci.yml
@@ -27,6 +27,8 @@ env:
 jobs:
   hubble-ci:
     runs-on: ubuntu-20.04
+    env:
+      STATIC_DIR: hugegraph-hubble/hubble-dist/assembly/static
     steps:
       - name: Install JDK 8
         uses: actions/setup-java@v3
@@ -72,8 +74,9 @@ jobs:
 
       - name: Compile
         run: |
+          mvn install -pl hugegraph-client,hugegraph-loader -am -Dmaven.javadoc.skip=true -DskipTests -ntp
           cd hugegraph-hubble && ls *
-          mvn -e clean compile -Dmaven.javadoc.skip=true -ntp
+          mvn -e compile -Dmaven.javadoc.skip=true -ntp
 
       - name: Prepare env and service
         run: |
@@ -81,7 +84,7 @@ jobs:
           $TRAVIS_DIR/install-hugegraph.sh $SERVER_VERSION
 
       - name: Unit test
-        run: cd hugegraph-hubble && mvn test -P unit-test
+        run: mvn test -P unit-test -pl hugegraph-hubble -ntp
 
       - name: API test
         env:
diff --git a/.github/workflows/loader-ci.yml b/.github/workflows/loader-ci.yml
index 3f988c3e..08b0556a 100644
--- a/.github/workflows/loader-ci.yml
+++ b/.github/workflows/loader-ci.yml
@@ -49,9 +49,7 @@ jobs:
 
       - name: Compile
         run: |
-          mvn install -pl hugegraph-client,hugegraph-loader -am -DskipTests -ntp
-          ls && cd hugegraph-loader && ls *
-          #mvn -e compile -Dmaven.javadoc.skip=true -ntp
+          mvn install -pl hugegraph-client,hugegraph-loader -am -Dmaven.javadoc.skip=true -DskipTests -ntp
 
       - name: Prepare env and service
         run: |
@@ -61,8 +59,11 @@ jobs:
 
       - name: Run test
         run: |
-          echo "##### Ignore Client Test Now ######"
-          mvn test -P unit,file,hdfs,jdbc -pl hugegraph-client,hugegraph-loader -fn
+          cd hugegraph-loader && ls
+          mvn test -P unit -ntp
+          mvn test -P file
+          mvn test -P hdfs
+          mvn test -P jdbc
 
       - name: Upload coverage to Codecov
         uses: codecov/codecov-action@v3.0.0
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7c12a494..2bec50e4 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,4 +1,4 @@
-# TODO: unify all modules later
+# TODO: this action can't used in apache org, try replace it
 name: release-package
 
 on:
diff --git a/.github/workflows/tools-ci.yml b/.github/workflows/tools-ci.yml
index 96df64f5..910fd8ec 100644
--- a/.github/workflows/tools-ci.yml
+++ b/.github/workflows/tools-ci.yml
@@ -42,15 +42,13 @@ jobs:
           fetch-depth: 2
       - name: Compile
         run: |
-          cd hugegraph-tools && ls *
-          mvn -e compile -Dmaven.javadoc.skip=true -ntp
+          mvn install -pl hugegraph-client,hugegraph-tools -am -Dmaven.javadoc.skip=true -DskipTests -ntp
       - name: Prepare env and service
         run: |
           $TRAVIS_DIR/install-hugegraph-from-source.sh $COMMIT_ID
       - name: Run test
         run: |
-          cd hugegraph-tools && ls *
-          mvn test -Dtest=FuncTestSuite
+          mvn test -Dtest=FuncTestSuite -pl hugegraph-tools -ntp
       - name: Upload coverage to Codecov
         uses: codecov/codecov-action@v3.0.0
         with:
diff --git a/hugegraph-client/pom.xml b/hugegraph-client/pom.xml
index 95edf27f..b7e37b8d 100644
--- a/hugegraph-client/pom.xml
+++ b/hugegraph-client/pom.xml
@@ -35,14 +35,14 @@
     </description>
 
     <properties>
-        <hugegraph.common.version>2.1.0</hugegraph.common.version>
+        <hugegraph.common.version>1.0.0</hugegraph.common.version>
         <jersey.version>3.0.3</jersey.version>
         <mockito.version>2.8.47</mockito.version>
     </properties>
 
     <dependencies>
         <dependency>
-            <groupId>com.baidu.hugegraph</groupId>
+            <groupId>org.apache.hugegraph</groupId>
             <artifactId>hugegraph-common</artifactId>
             <version>${hugegraph.common.version}</version>
         </dependency>
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/API.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/API.java
index c580a663..dba7660c 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/API.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/API.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.api;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public abstract class API {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/AccessAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/AccessAPI.java
index 91dfb451..28f3e4b2 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/AccessAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/AccessAPI.java
@@ -24,7 +24,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.auth.Access;
 import com.baidu.hugegraph.structure.constant.HugeType;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/BelongAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/BelongAPI.java
index 41e55878..3692114d 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/BelongAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/BelongAPI.java
@@ -24,7 +24,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.auth.Belong;
 import com.baidu.hugegraph.structure.constant.HugeType;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/GroupAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/GroupAPI.java
index 5eb5ec95..7e40ad13 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/GroupAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/GroupAPI.java
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.auth.Group;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.google.common.collect.ImmutableMap;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/LoginAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/LoginAPI.java
index 355a6cea..b3a64182 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/LoginAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/LoginAPI.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.api.auth;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.auth.Login;
 import com.baidu.hugegraph.structure.auth.LoginResult;
 import com.baidu.hugegraph.structure.constant.HugeType;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/ProjectAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/ProjectAPI.java
index c6a3f072..9ac208fc 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/ProjectAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/ProjectAPI.java
@@ -24,7 +24,7 @@ import java.util.Map;
 import java.util.Set;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.auth.Project;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.google.common.collect.ImmutableMap;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/TargetAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/TargetAPI.java
index 31a80d2d..63500863 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/TargetAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/TargetAPI.java
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.auth.Target;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.google.common.collect.ImmutableMap;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/TokenAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/TokenAPI.java
index 8fb0bf55..2c160eca 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/TokenAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/TokenAPI.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.api.auth;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.auth.TokenPayload;
 import com.baidu.hugegraph.structure.constant.HugeType;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/UserAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/UserAPI.java
index 07855fc7..82305828 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/UserAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/auth/UserAPI.java
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.auth.User;
 import com.baidu.hugegraph.structure.auth.User.UserRole;
 import com.baidu.hugegraph.structure.constant.HugeType;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/EdgeAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/EdgeAPI.java
index 6e8e1048..f7a09e6f 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/EdgeAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/EdgeAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.client.RestClient;
 import com.baidu.hugegraph.exception.NotAllCreatedException;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.graph.BatchEdgeRequest;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/GraphAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/GraphAPI.java
index 93622380..41e1aeae 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/GraphAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/GraphAPI.java
@@ -27,7 +27,7 @@ import org.glassfish.jersey.uri.UriComponent.Type;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.baidu.hugegraph.util.JsonUtil;
 
 public abstract class GraphAPI extends API {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/VertexAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/VertexAPI.java
index 13bb6023..9f878a3d 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/VertexAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graph/VertexAPI.java
@@ -26,7 +26,6 @@ import java.util.Map;
 import com.baidu.hugegraph.client.RestClient;
 import com.baidu.hugegraph.exception.InvalidResponseException;
 import com.baidu.hugegraph.exception.NotAllCreatedException;
-import com.baidu.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.graph.BatchOlapPropertyRequest;
 import com.baidu.hugegraph.structure.graph.BatchVertexRequest;
@@ -34,6 +33,7 @@ import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.graph.Vertices;
 import com.google.common.collect.ImmutableMap;
 import jakarta.ws.rs.core.MultivaluedHashMap;
+import org.apache.hugegraph.rest.RestResult;
 
 public class VertexAPI extends GraphAPI {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graphs/GraphsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graphs/GraphsAPI.java
index 55cc5783..0ced91ba 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graphs/GraphsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/graphs/GraphsAPI.java
@@ -30,7 +30,7 @@ import org.apache.commons.lang3.StringUtils;
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
 import com.baidu.hugegraph.exception.InvalidResponseException;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.GraphMode;
 import com.baidu.hugegraph.structure.constant.GraphReadMode;
 import com.baidu.hugegraph.structure.constant.HugeType;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/gremlin/CypherAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/gremlin/CypherAPI.java
index a87ce2b7..856634de 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/gremlin/CypherAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/gremlin/CypherAPI.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.api.gremlin;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.gremlin.Response;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/gremlin/GremlinAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/gremlin/GremlinAPI.java
index ee893919..7af56fba 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/gremlin/GremlinAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/gremlin/GremlinAPI.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.api.gremlin;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.gremlin.Response;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/job/GremlinJobAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/job/GremlinJobAPI.java
index 80c73831..01ec5937 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/job/GremlinJobAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/job/GremlinJobAPI.java
@@ -24,7 +24,7 @@ import java.util.Map;
 import com.baidu.hugegraph.api.gremlin.GremlinRequest;
 import com.baidu.hugegraph.api.task.TaskAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 
 public class GremlinJobAPI extends JobAPI {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/job/RebuildAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/job/RebuildAPI.java
index 4a077b96..5a22c2de 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/job/RebuildAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/job/RebuildAPI.java
@@ -23,12 +23,12 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.task.TaskAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.SchemaElement;
 import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class RebuildAPI extends JobAPI {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/metrics/MetricsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/metrics/MetricsAPI.java
index af8a2d2d..38bd7029 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/metrics/MetricsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/metrics/MetricsAPI.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.util.CommonUtil;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/EdgeLabelAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/EdgeLabelAPI.java
index 991887ac..8f4b284b 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/EdgeLabelAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/EdgeLabelAPI.java
@@ -24,11 +24,11 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.task.TaskAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.SchemaElement;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.schema.EdgeLabel;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableMap;
 
 public class EdgeLabelAPI extends SchemaElementAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/IndexLabelAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/IndexLabelAPI.java
index 3e855430..abd9c50b 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/IndexLabelAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/IndexLabelAPI.java
@@ -25,12 +25,12 @@ import java.util.Map;
 import com.baidu.hugegraph.api.task.TaskAPI;
 import com.baidu.hugegraph.client.RestClient;
 import com.baidu.hugegraph.exception.NotSupportException;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.SchemaElement;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.constant.IndexType;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableMap;
 
 public class IndexLabelAPI extends SchemaElementAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/PropertyKeyAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/PropertyKeyAPI.java
index fcb9c510..7c2bdca3 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/PropertyKeyAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/PropertyKeyAPI.java
@@ -25,12 +25,12 @@ import java.util.Map;
 import com.baidu.hugegraph.api.task.TaskAPI;
 import com.baidu.hugegraph.client.RestClient;
 import com.baidu.hugegraph.exception.NotSupportException;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.SchemaElement;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.constant.WriteType;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableMap;
 
 public class PropertyKeyAPI extends SchemaElementAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/SchemaAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/SchemaAPI.java
index 537b1478..5502565b 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/SchemaAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/SchemaAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
 import com.baidu.hugegraph.exception.NotSupportException;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.SchemaElement;
 
 public class SchemaAPI extends API {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/VertexLabelAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/VertexLabelAPI.java
index a47f08c2..953609df 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/VertexLabelAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/schema/VertexLabelAPI.java
@@ -24,11 +24,11 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.task.TaskAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.SchemaElement;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableMap;
 
 public class VertexLabelAPI extends SchemaElementAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/task/TaskAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/task/TaskAPI.java
index 51ffe05b..afe0714e 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/task/TaskAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/task/TaskAPI.java
@@ -25,11 +25,11 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.ClientException;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.ClientException;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.Task;
 import com.baidu.hugegraph.structure.constant.HugeType;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.baidu.hugegraph.util.TaskCache;
 import com.google.common.collect.ImmutableMap;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/AllShortestPathsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/AllShortestPathsAPI.java
index 26a2e7f3..e1e751e5 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/AllShortestPathsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/AllShortestPathsAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.graph.Path;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CountAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CountAPI.java
index f6ec8cc1..45bb1bd6 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CountAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CountAPI.java
@@ -22,9 +22,9 @@ package com.baidu.hugegraph.api.traverser;
 import java.util.Map;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.traverser.CountRequest;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class CountAPI extends TraversersAPI {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CrosspointsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CrosspointsAPI.java
index 1a6282a6..3c9392ac 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CrosspointsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CrosspointsAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.graph.Path;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CustomizedCrosspointsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CustomizedCrosspointsAPI.java
index 8eca0f8c..7303744c 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CustomizedCrosspointsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CustomizedCrosspointsAPI.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.api.traverser;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.traverser.CrosspointsRequest;
 import com.baidu.hugegraph.structure.traverser.CustomizedCrosspoints;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CustomizedPathsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CustomizedPathsAPI.java
index ef1b0324..2699aa9c 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CustomizedPathsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/CustomizedPathsAPI.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.api.traverser;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.traverser.PathsWithVertices;
 import com.baidu.hugegraph.structure.traverser.CustomizedPathsRequest;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/EdgesAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/EdgesAPI.java
index 680c335e..3964cb0f 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/EdgesAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/EdgesAPI.java
@@ -24,11 +24,11 @@ import java.util.List;
 import java.util.Map;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Edges;
 import com.baidu.hugegraph.structure.graph.Shard;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableMap;
 
 public class EdgesAPI extends TraversersAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/FusiformSimilarityAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/FusiformSimilarityAPI.java
index 81053cd3..c10752b5 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/FusiformSimilarityAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/FusiformSimilarityAPI.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.api.traverser;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.traverser.FusiformSimilarity;
 import com.baidu.hugegraph.structure.traverser.FusiformSimilarityRequest;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/JaccardSimilarityAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/JaccardSimilarityAPI.java
index d39f236d..c733e8b5 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/JaccardSimilarityAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/JaccardSimilarityAPI.java
@@ -24,12 +24,14 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+
+import org.apache.hugegraph.rest.RestResult;
+
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.traverser.SingleSourceJaccardSimilarityRequest;
 
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class JaccardSimilarityAPI extends TraversersAPI {
 
@@ -65,8 +67,7 @@ public class JaccardSimilarityAPI extends TraversersAPI {
     }
 
     @SuppressWarnings("unchecked")
-    public Map<Object, Double> post(
-                               SingleSourceJaccardSimilarityRequest request) {
+    public Map<Object, Double> post(SingleSourceJaccardSimilarityRequest request) {
         this.client.checkApiVersion("0.58", "jaccard similar");
         RestResult result = this.client.post(this.path(), request);
         return result.readObject(Map.class);
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/KneighborAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/KneighborAPI.java
index 94cf6850..557ac84e 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/KneighborAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/KneighborAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.traverser.Kneighbor;
 import com.baidu.hugegraph.structure.traverser.KneighborRequest;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/KoutAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/KoutAPI.java
index 9d709b33..8184e408 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/KoutAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/KoutAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.traverser.Kout;
 import com.baidu.hugegraph.structure.traverser.KoutRequest;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/MultiNodeShortestPathAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/MultiNodeShortestPathAPI.java
index d81ac75d..76190af7 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/MultiNodeShortestPathAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/MultiNodeShortestPathAPI.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.api.traverser;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.traverser.MultiNodeShortestPathRequest;
 import com.baidu.hugegraph.structure.traverser.PathsWithVertices;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/NeighborRankAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/NeighborRankAPI.java
index 41a4a04f..736c30ae 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/NeighborRankAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/NeighborRankAPI.java
@@ -24,11 +24,11 @@ import java.util.Arrays;
 import java.util.List;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.Traverser;
 import com.baidu.hugegraph.structure.traverser.Ranks;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class NeighborRankAPI extends TraversersAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/PathsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/PathsAPI.java
index 9790f434..d69addbf 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/PathsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/PathsAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.traverser.PathsRequest;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/PersonalRankAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/PersonalRankAPI.java
index 47b6e8a0..01663322 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/PersonalRankAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/PersonalRankAPI.java
@@ -20,10 +20,10 @@
 package com.baidu.hugegraph.api.traverser;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Traverser;
 import com.baidu.hugegraph.structure.traverser.Ranks;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class PersonalRankAPI extends TraversersAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/RaysAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/RaysAPI.java
index 8b2af902..989f04de 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/RaysAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/RaysAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.graph.Path;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/RingsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/RingsAPI.java
index 8ad0b64e..f175066b 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/RingsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/RingsAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.graph.Path;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/SameNeighborsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/SameNeighborsAPI.java
index 23ffb450..fd0dac40 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/SameNeighborsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/SameNeighborsAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 
 public class SameNeighborsAPI extends TraversersAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/ShortestPathAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/ShortestPathAPI.java
index 389b108f..0864aac2 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/ShortestPathAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/ShortestPathAPI.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.graph.Path;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/SingleSourceShortestPathAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/SingleSourceShortestPathAPI.java
index bbd96392..d35d61b4 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/SingleSourceShortestPathAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/SingleSourceShortestPathAPI.java
@@ -24,10 +24,10 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.traverser.WeightedPaths;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class SingleSourceShortestPathAPI extends TraversersAPI {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/TemplatePathsAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/TemplatePathsAPI.java
index a52233a9..7b51bbc7 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/TemplatePathsAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/TemplatePathsAPI.java
@@ -20,7 +20,7 @@
 package com.baidu.hugegraph.api.traverser;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.traverser.PathsWithVertices;
 import com.baidu.hugegraph.structure.traverser.TemplatePathsRequest;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/TraversersAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/TraversersAPI.java
index 246e9bbc..a360b5ef 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/TraversersAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/TraversersAPI.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.api.traverser;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class TraversersAPI extends API {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/VerticesAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/VerticesAPI.java
index 5a85865c..da2a800c 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/VerticesAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/VerticesAPI.java
@@ -26,11 +26,11 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.graph.Shard;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.graph.Vertices;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableMap;
 
 public class VerticesAPI extends TraversersAPI {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/WeightedShortestPathAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/WeightedShortestPathAPI.java
index 70de0489..3d51a366 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/WeightedShortestPathAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/traverser/WeightedShortestPathAPI.java
@@ -24,10 +24,10 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.graph.GraphAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.traverser.WeightedPath;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class WeightedShortestPathAPI extends TraversersAPI {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/variables/VariablesAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/variables/VariablesAPI.java
index 521a93a1..22fc4ec0 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/variables/VariablesAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/variables/VariablesAPI.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.google.common.collect.ImmutableMap;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/version/VersionAPI.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/version/VersionAPI.java
index 31fa5c33..729a23f0 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/api/version/VersionAPI.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/api/version/VersionAPI.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.api.version;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.version.Versions;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/client/RestClient.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/client/RestClient.java
index f29c2675..3ca04e9f 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/client/RestClient.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/client/RestClient.java
@@ -20,14 +20,14 @@
 package com.baidu.hugegraph.client;
 
 import com.baidu.hugegraph.exception.ServerException;
-import com.baidu.hugegraph.rest.AbstractRestClient;
-import com.baidu.hugegraph.rest.ClientException;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.AbstractRestClient;
+import org.apache.hugegraph.rest.ClientException;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.serializer.PathDeserializer;
 import com.baidu.hugegraph.structure.graph.Path;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.VersionUtil;
-import com.baidu.hugegraph.util.VersionUtil.Version;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.VersionUtil;
+import org.apache.hugegraph.util.VersionUtil.Version;
 import com.fasterxml.jackson.databind.module.SimpleModule;
 import jakarta.ws.rs.core.Response;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/GraphManager.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/GraphManager.java
index 565fe797..6c073818 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/GraphManager.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/GraphManager.java
@@ -37,7 +37,7 @@ import com.baidu.hugegraph.structure.graph.BatchVertexRequest;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.GraphIterator;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class GraphManager {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/HugeClient.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/HugeClient.java
index 3425cd08..3ce73e29 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/HugeClient.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/HugeClient.java
@@ -22,9 +22,12 @@ package com.baidu.hugegraph.driver;
 import java.io.Closeable;
 
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.rest.ClientException;
-import com.baidu.hugegraph.util.VersionUtil;
+
+import org.apache.hugegraph.rest.ClientException;
+import org.apache.hugegraph.util.VersionUtil;
+
 import com.baidu.hugegraph.version.ClientVersion;
+
 import jakarta.ws.rs.ProcessingException;
 
 public class HugeClient implements Closeable {
@@ -32,6 +35,7 @@ public class HugeClient implements Closeable {
     static {
         ClientVersion.check();
     }
+
     private final RestClient client;
     private final boolean borrowedClient;
 
@@ -60,8 +64,7 @@ public class HugeClient implements Closeable {
                                          builder.trustStoreFile(),
                                          builder.trustStorePassword());
         } catch (ProcessingException e) {
-            throw new ClientException("Failed to connect url '%s'",
-                                      builder.url());
+            throw new ClientException("Failed to connect url '%s'", builder.url());
         }
         try {
             this.initManagers(this.client, builder.graph());
@@ -108,10 +111,8 @@ public class HugeClient implements Closeable {
     }
 
     private void checkServerApiVersion() {
-        VersionUtil.Version apiVersion = VersionUtil.Version.of(
-                                         this.version.getApiVersion());
-        VersionUtil.check(apiVersion, "0.38", "0.70",
-                          "hugegraph-api in server");
+        VersionUtil.Version apiVersion = VersionUtil.Version.of(this.version.getApiVersion());
+        VersionUtil.check(apiVersion, "0.38", "0.70", "hugegraph-api in server");
         this.client.apiVersion(apiVersion);
     }
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/HugeClientBuilder.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/HugeClientBuilder.java
index 4eedeaed..6fefb306 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/HugeClientBuilder.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/HugeClientBuilder.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.driver;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class HugeClientBuilder {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/TraverserManager.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/TraverserManager.java
index 7ad4ba4b..1fa96bfa 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/TraverserManager.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/driver/TraverserManager.java
@@ -72,7 +72,7 @@ import com.baidu.hugegraph.structure.traverser.Ranks;
 import com.baidu.hugegraph.structure.traverser.TemplatePathsRequest;
 import com.baidu.hugegraph.structure.traverser.WeightedPath;
 import com.baidu.hugegraph.structure.traverser.WeightedPaths;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 import static com.baidu.hugegraph.structure.constant.Traverser.DEFAULT_CAPACITY;
 import static com.baidu.hugegraph.structure.constant.Traverser.DEFAULT_MAX_DEGREE;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/InvalidOperationException.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/InvalidOperationException.java
index 4a098986..0daa135f 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/InvalidOperationException.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/InvalidOperationException.java
@@ -19,7 +19,8 @@
 
 package com.baidu.hugegraph.exception;
 
-import com.baidu.hugegraph.rest.ClientException;
+
+import org.apache.hugegraph.rest.ClientException;
 
 public class InvalidOperationException extends ClientException {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/InvalidResponseException.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/InvalidResponseException.java
index 7c950427..9a2de173 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/InvalidResponseException.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/InvalidResponseException.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.exception;
 
-import com.baidu.hugegraph.rest.ClientException;
+import org.apache.hugegraph.rest.ClientException;
 
 public class InvalidResponseException extends ClientException {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/NotSupportException.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/NotSupportException.java
index f91ba0fc..94b6bdc9 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/NotSupportException.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/NotSupportException.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.exception;
 
-import com.baidu.hugegraph.rest.ClientException;
+import org.apache.hugegraph.rest.ClientException;
 
 public class NotSupportException extends ClientException {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/ServerException.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/ServerException.java
index f50a4418..7cbf3912 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/ServerException.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/exception/ServerException.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.exception;
 
 import java.util.Map;
 
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import jakarta.ws.rs.core.Response;
 
 public class ServerException extends RuntimeException {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/struct/DataType.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/struct/DataType.java
index a12aa460..48400994 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/struct/DataType.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/struct/DataType.java
@@ -24,9 +24,11 @@ import java.util.UUID;
 
 import com.baidu.hugegraph.serializer.direct.util.HugeException;
 import com.baidu.hugegraph.serializer.direct.util.StringEncoding;
-import com.baidu.hugegraph.util.CollectionUtil;
-import com.baidu.hugegraph.util.DateUtil;
-import com.baidu.hugegraph.util.E;
+
+import org.apache.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.E;
+
 import com.google.common.collect.HashBasedTable;
 import com.google.common.collect.Table;
 
@@ -193,7 +195,6 @@ public enum DataType {
         return null;
     }
 
-
     public static DataType fromClass(Class<?> clazz) {
         for (DataType type : DataType.values()) {
             if (type.clazz() == clazz) {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/BytesBuffer.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/BytesBuffer.java
index 81320e86..f407701f 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/BytesBuffer.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/BytesBuffer.java
@@ -19,16 +19,19 @@
 
 package com.baidu.hugegraph.serializer.direct.util;
 
-import com.baidu.hugegraph.serializer.direct.struct.HugeType;
-import com.baidu.hugegraph.util.*;
 import java.io.OutputStream;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.UUID;
 
+import org.apache.hugegraph.util.Bytes;
+import org.apache.hugegraph.util.E;
+
+import com.baidu.hugegraph.serializer.direct.struct.HugeType;
+
 /**
- * class BytesBuffer is a util for read/write binary
+ * class BytesBuffer is an util for read/write binary
  */
 public final class BytesBuffer extends OutputStream {
 
@@ -73,8 +76,8 @@ public final class BytesBuffer extends OutputStream {
 
     public BytesBuffer(int capacity) {
         E.checkArgument(capacity <= MAX_BUFFER_CAPACITY,
-                "Capacity exceeds max buffer capacity: %s",
-                MAX_BUFFER_CAPACITY);
+                        "Capacity exceeds max buffer capacity: %s",
+                        MAX_BUFFER_CAPACITY);
         this.buffer = ByteBuffer.allocate(capacity);
         this.resize = true;
     }
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/Id.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/Id.java
index 0aee0d4f..769f8840 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/Id.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/Id.java
@@ -19,41 +19,41 @@
 
 package com.baidu.hugegraph.serializer.direct.util;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public interface Id extends Comparable<Id> {
 
-    public static final int UUID_LENGTH = 16;
+    int UUID_LENGTH = 16;
 
-    public Object asObject();
+    Object asObject();
 
-    public String asString();
+    String asString();
 
-    public long asLong();
+    long asLong();
 
-    public byte[] asBytes();
+    byte[] asBytes();
 
-    public int length();
+    int length();
 
-    public IdType type();
+    IdType type();
 
-    public default boolean number() {
+    default boolean number() {
         return this.type() == IdType.LONG;
     }
 
-    public default boolean uuid() {
+    default boolean uuid() {
         return this.type() == IdType.UUID;
     }
 
-    public default boolean string() {
+    default boolean string() {
         return this.type() == IdType.STRING;
     }
 
-    public default boolean edge() {
+    default boolean edge() {
         return this.type() == IdType.EDGE;
     }
 
-    public enum IdType {
+    enum IdType {
 
         UNKNOWN,
         LONG,
@@ -70,7 +70,7 @@ public interface Id extends Comparable<Id> {
 
         public static IdType valueOfPrefix(String id) {
             E.checkArgument(id != null && id.length() > 0,
-                    "Invalid id '%s'", id);
+                            "Invalid id '%s'", id);
             switch (id.charAt(0)) {
                 case 'L':
                     return IdType.LONG;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/IdGenerator.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/IdGenerator.java
index 3e6c1e96..a003edf7 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/IdGenerator.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/IdGenerator.java
@@ -19,14 +19,14 @@
 
 package com.baidu.hugegraph.serializer.direct.util;
 
+import java.util.Objects;
+import java.util.UUID;
 
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.LongEncoding;
-import com.baidu.hugegraph.util.NumericUtil;
 import com.baidu.hugegraph.serializer.direct.util.Id.IdType;
 
-import java.util.Objects;
-import java.util.UUID;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.LongEncoding;
+import org.apache.hugegraph.util.NumericUtil;
 
 public abstract class IdGenerator {
 
@@ -115,7 +115,7 @@ public abstract class IdGenerator {
         return IdType.UNKNOWN;
     }
 
-    private final static int compareType(Id id1, Id id2) {
+    private static int compareType(Id id1, Id id2) {
         return idType(id1).ordinal() - idType(id2).ordinal();
     }
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/LZ4Util.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/LZ4Util.java
index 32684369..a12a55a5 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/LZ4Util.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/LZ4Util.java
@@ -19,7 +19,6 @@
 
 package com.baidu.hugegraph.serializer.direct.util;
 
-
 import net.jpountz.lz4.LZ4BlockOutputStream;
 import net.jpountz.lz4.LZ4Compressor;
 import net.jpountz.lz4.LZ4Factory;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/StringEncoding.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/StringEncoding.java
index 5668f14a..18c598a1 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/StringEncoding.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/serializer/direct/util/StringEncoding.java
@@ -26,8 +26,9 @@ import java.security.NoSuchAlgorithmException;
 import java.util.Base64;
 import java.util.UUID;
 
-import com.baidu.hugegraph.util.Bytes;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.Bytes;
+import org.apache.hugegraph.util.E;
+
 import com.google.common.base.CharMatcher;
 
 /**
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/GraphElement.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/GraphElement.java
index c4363b88..e74df2e4 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/GraphElement.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/GraphElement.java
@@ -28,8 +28,8 @@ import java.util.concurrent.ConcurrentHashMap;
 
 import com.baidu.hugegraph.driver.GraphManager;
 import com.baidu.hugegraph.structure.constant.GraphAttachable;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.ReflectionUtil;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.ReflectionUtil;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public abstract class GraphElement extends Element implements GraphAttachable {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/Task.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/Task.java
index bffc1a19..62b30f91 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/Task.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/Task.java
@@ -23,7 +23,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/auth/HugeResource.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/auth/HugeResource.java
index 846d0567..171f8099 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/auth/HugeResource.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/auth/HugeResource.java
@@ -57,7 +57,6 @@ public class HugeResource {
         this.properties = properties;
     }
 
-
     public HugeResourceType resourceType() {
         return this.type;
     }
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchEdgeRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchEdgeRequest.java
index b06703c6..26bf0d35 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchEdgeRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchEdgeRequest.java
@@ -23,7 +23,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class BatchEdgeRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchOlapPropertyRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchOlapPropertyRequest.java
index 2eda5be0..0b65b23a 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchOlapPropertyRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchOlapPropertyRequest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.structure.graph;
 
 import java.util.List;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class BatchOlapPropertyRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchVertexRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchVertexRequest.java
index ca57d624..8f35f564 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchVertexRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/BatchVertexRequest.java
@@ -23,7 +23,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class BatchVertexRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Edge.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Edge.java
index baddda37..42556f83 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Edge.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Edge.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.structure.graph;
 
 import com.baidu.hugegraph.exception.InvalidOperationException;
 import com.baidu.hugegraph.structure.GraphElement;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.baidu.hugegraph.util.SplicingIdGenerator;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Graph.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Graph.java
index c682a0cd..6c1cb71b 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Graph.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Graph.java
@@ -28,7 +28,7 @@ import java.util.Map;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.driver.GraphManager;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 /**
  * HugeGraph is a mirror of server-side data(vertex/edge), it used to speed up
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/GraphIterator.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/GraphIterator.java
index 7394bb1b..96123839 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/GraphIterator.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/GraphIterator.java
@@ -26,7 +26,7 @@ import java.util.function.Function;
 
 import com.baidu.hugegraph.driver.GraphManager;
 import com.baidu.hugegraph.structure.GraphElement;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class GraphIterator<T extends GraphElement> implements Iterator<T> {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Vertex.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Vertex.java
index f0ce717f..d1f00760 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Vertex.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/graph/Vertex.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import com.baidu.hugegraph.exception.InvalidOperationException;
 import com.baidu.hugegraph.structure.GraphElement;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/gremlin/ResultSet.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/gremlin/ResultSet.java
index 3b93fa31..02e38707 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/gremlin/ResultSet.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/gremlin/ResultSet.java
@@ -26,13 +26,13 @@ import java.util.Map;
 import java.util.NoSuchElementException;
 
 import com.baidu.hugegraph.driver.GraphManager;
-import com.baidu.hugegraph.rest.SerializeException;
+import org.apache.hugegraph.rest.SerializeException;
 import com.baidu.hugegraph.serializer.PathDeserializer;
 import com.baidu.hugegraph.structure.constant.GraphAttachable;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.module.SimpleModule;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/EdgeLabel.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/EdgeLabel.java
index 74537845..5405d1ff 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/EdgeLabel.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/EdgeLabel.java
@@ -26,8 +26,10 @@ import java.util.concurrent.CopyOnWriteArrayList;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.structure.constant.Frequency;
 import com.baidu.hugegraph.structure.constant.HugeType;
-import com.baidu.hugegraph.util.CollectionUtil;
-import com.baidu.hugegraph.util.E;
+
+import org.apache.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.E;
+
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
@@ -235,7 +237,6 @@ public class EdgeLabel extends SchemaLabel {
             return this;
         }
 
-
         @Override
         public Builder ttl(long ttl) {
             E.checkArgument(ttl >= 0L, "The ttl must >= 0, but got: %s", ttl);
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/IndexLabel.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/IndexLabel.java
index b995140b..33983729 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/IndexLabel.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/IndexLabel.java
@@ -29,8 +29,8 @@ import com.baidu.hugegraph.exception.NotSupportException;
 import com.baidu.hugegraph.structure.SchemaElement;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.constant.IndexType;
-import com.baidu.hugegraph.util.CollectionUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/PropertyKey.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/PropertyKey.java
index 1be7d397..98cb39a8 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/PropertyKey.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/PropertyKey.java
@@ -26,7 +26,7 @@ import com.baidu.hugegraph.structure.constant.Cardinality;
 import com.baidu.hugegraph.structure.constant.DataType;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.constant.WriteType;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/VertexLabel.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/VertexLabel.java
index c859f92b..c60195b4 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/VertexLabel.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/schema/VertexLabel.java
@@ -26,8 +26,8 @@ import java.util.concurrent.CopyOnWriteArrayList;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.constant.IdStrategy;
-import com.baidu.hugegraph.util.CollectionUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CountRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CountRequest.java
index 3d20aab8..01df539a 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CountRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CountRequest.java
@@ -24,7 +24,7 @@ import java.util.List;
 
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class CountRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CrosspointsRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CrosspointsRequest.java
index 1a0ce0b7..cad36a15 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CrosspointsRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CrosspointsRequest.java
@@ -27,7 +27,7 @@ import java.util.Map;
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class CrosspointsRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CustomizedPathsRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CustomizedPathsRequest.java
index c84d91b6..2be7dd52 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CustomizedPathsRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/CustomizedPathsRequest.java
@@ -28,7 +28,7 @@ import java.util.Map;
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 import static com.baidu.hugegraph.api.API.NO_LIMIT;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/FusiformSimilarityRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/FusiformSimilarityRequest.java
index c5c5cb3d..9ec41c16 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/FusiformSimilarityRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/FusiformSimilarityRequest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.structure.traverser;
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class FusiformSimilarityRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/KneighborRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/KneighborRequest.java
index b179c324..c2dad311 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/KneighborRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/KneighborRequest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.structure.traverser;
 
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class KneighborRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/KoutRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/KoutRequest.java
index 305a8d3a..e35ee480 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/KoutRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/KoutRequest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.structure.traverser;
 
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class KoutRequest {
@@ -33,17 +33,17 @@ public class KoutRequest {
     @JsonProperty("max_depth")
     public int maxDepth;
     @JsonProperty("nearest")
-    public boolean nearest = true;
+    public boolean nearest;
     @JsonProperty("count_only")
-    public boolean countOnly = false;
+    public boolean countOnly;
     @JsonProperty("capacity")
-    public long capacity = Traverser.DEFAULT_CAPACITY;
+    public long capacity;
     @JsonProperty("limit")
-    public int limit = Traverser.DEFAULT_LIMIT;
+    public int limit;
     @JsonProperty("with_vertex")
-    public boolean withVertex = false;
+    public boolean withVertex;
     @JsonProperty("with_path")
-    public boolean withPath = false;
+    public boolean withPath;
 
     private KoutRequest() {
         this.source = null;
@@ -73,12 +73,12 @@ public class KoutRequest {
 
     public static class Builder {
 
-        private KoutRequest request;
+        private final KoutRequest request;
         private EdgeStep.Builder stepBuilder;
 
         private Builder() {
-                this.request = new KoutRequest();
-                this.stepBuilder = EdgeStep.builder();
+            this.request = new KoutRequest();
+            this.stepBuilder = EdgeStep.builder();
         }
 
         public Builder source(Object source) {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/MultiNodeShortestPathRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/MultiNodeShortestPathRequest.java
index 9bd67d70..425955a5 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/MultiNodeShortestPathRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/MultiNodeShortestPathRequest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.structure.traverser;
 
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class MultiNodeShortestPathRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/PathsRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/PathsRequest.java
index fd9ac986..878fff8b 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/PathsRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/PathsRequest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.structure.traverser;
 
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class PathsRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/SingleSourceJaccardSimilarityRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/SingleSourceJaccardSimilarityRequest.java
index f5207b0b..421776fe 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/SingleSourceJaccardSimilarityRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/SingleSourceJaccardSimilarityRequest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.structure.traverser;
 
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class SingleSourceJaccardSimilarityRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/TemplatePathsRequest.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/TemplatePathsRequest.java
index a21a7272..d83f74ae 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/TemplatePathsRequest.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/TemplatePathsRequest.java
@@ -24,7 +24,7 @@ import java.util.List;
 
 import com.baidu.hugegraph.api.traverser.TraversersAPI;
 import com.baidu.hugegraph.structure.constant.Traverser;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class TemplatePathsRequest {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/VerticesArgs.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/VerticesArgs.java
index 4a6a1938..3b53fa52 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/VerticesArgs.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/structure/traverser/VerticesArgs.java
@@ -25,7 +25,7 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class VerticesArgs {
 
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/util/CommonUtil.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/util/CommonUtil.java
index 4506a331..49bc9881 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/util/CommonUtil.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/util/CommonUtil.java
@@ -19,6 +19,8 @@
 
 package com.baidu.hugegraph.util;
 
+import org.apache.hugegraph.util.E;
+
 import java.util.Map;
 
 public final class CommonUtil {
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/util/JsonUtil.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/util/JsonUtil.java
index d5964027..1b996116 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/util/JsonUtil.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/util/JsonUtil.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.util;
 
 import java.io.IOException;
 
-import com.baidu.hugegraph.rest.SerializeException;
+import org.apache.hugegraph.rest.SerializeException;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.Module;
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/util/TaskCache.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/util/TaskCache.java
index c278ac77..a2c36bf8 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/util/TaskCache.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/util/TaskCache.java
@@ -28,6 +28,7 @@ import java.util.concurrent.TimeUnit;
 
 import com.baidu.hugegraph.api.task.TaskAPI;
 import com.baidu.hugegraph.structure.Task;
+import org.apache.hugegraph.util.ExecutorUtil;
 
 public class TaskCache {
 
@@ -36,7 +37,7 @@ public class TaskCache {
     private Map<TaskAPI, Map<Long, Task>> taskTable;
     private ScheduledExecutorService service;
 
-    private static TaskCache INSTANCE = new TaskCache();
+    private static final TaskCache INSTANCE = new TaskCache();
 
     private TaskCache() {
         this.taskTable = new ConcurrentHashMap<>();
@@ -110,5 +111,5 @@ public class TaskCache {
                 targets.put(task.id(), task);
             }
         }
-    };
+    }
 }
diff --git a/hugegraph-client/src/main/java/com/baidu/hugegraph/version/ClientVersion.java b/hugegraph-client/src/main/java/com/baidu/hugegraph/version/ClientVersion.java
index 1ffbccbd..e18fe19b 100644
--- a/hugegraph-client/src/main/java/com/baidu/hugegraph/version/ClientVersion.java
+++ b/hugegraph-client/src/main/java/com/baidu/hugegraph/version/ClientVersion.java
@@ -19,8 +19,9 @@
 
 package com.baidu.hugegraph.version;
 
-import com.baidu.hugegraph.util.VersionUtil;
-import com.baidu.hugegraph.util.VersionUtil.Version;
+import org.apache.hugegraph.util.VersionUtil;
+import org.apache.hugegraph.util.VersionUtil.Version;
+import org.apache.hugegraph.version.CommonVersion;
 
 public class ClientVersion {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/BaseClientTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/BaseClientTest.java
index f605ee12..da816211 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/BaseClientTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/BaseClientTest.java
@@ -45,7 +45,7 @@ import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
 import com.google.common.collect.ImmutableMap;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/BaseApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/BaseApiTest.java
index d8a5d1ff..06dea498 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/BaseApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/BaseApiTest.java
@@ -39,8 +39,8 @@ import com.baidu.hugegraph.api.task.TaskAPI;
 import com.baidu.hugegraph.api.variables.VariablesAPI;
 import com.baidu.hugegraph.api.version.VersionAPI;
 import com.baidu.hugegraph.client.RestClient;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.util.VersionUtil;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.VersionUtil;
 
 public class BaseApiTest extends BaseClientTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/BatchUpdateElementApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/BatchUpdateElementApiTest.java
index d4ec65f6..528c1e87 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/BatchUpdateElementApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/BatchUpdateElementApiTest.java
@@ -39,8 +39,8 @@ import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.UpdateStrategy;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/CypherApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/CypherApiTest.java
index 589b769b..4657d95f 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/CypherApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/CypherApiTest.java
@@ -24,7 +24,7 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 
 import com.baidu.hugegraph.structure.gremlin.ResultSet;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class CypherApiTest extends BaseApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/EdgeApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/EdgeApiTest.java
index 9720ce0b..9b5549f2 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/EdgeApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/EdgeApiTest.java
@@ -34,9 +34,9 @@ import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableMap;
 
 public class EdgeApiTest extends BaseApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/EdgeLabelApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/EdgeLabelApiTest.java
index f6d45ba2..94b5ea6c 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/EdgeLabelApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/EdgeLabelApiTest.java
@@ -31,9 +31,9 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.structure.constant.Frequency;
 import com.baidu.hugegraph.structure.schema.EdgeLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/GraphsApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/GraphsApiTest.java
index 77158dbe..6cbabebc 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/GraphsApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/GraphsApiTest.java
@@ -33,14 +33,14 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.driver.SchemaManager;
-import com.baidu.hugegraph.rest.ClientException;
+import org.apache.hugegraph.rest.ClientException;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.gremlin.ResultSet;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableSet;
 
-@Ignore
+//@Ignore
 public class GraphsApiTest extends BaseApiTest {
 
     private static final String GRAPH2 = "hugegraph2";
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/GremlinApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/GremlinApiTest.java
index 1962b92c..b4851102 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/GremlinApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/GremlinApiTest.java
@@ -34,8 +34,8 @@ import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.gremlin.Result;
 import com.baidu.hugegraph.structure.gremlin.ResultSet;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class GremlinApiTest extends BaseApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/IndexLabelApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/IndexLabelApiTest.java
index 0a0e7173..9fa6913b 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/IndexLabelApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/IndexLabelApiTest.java
@@ -36,10 +36,10 @@ import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.constant.IndexType;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
-import com.baidu.hugegraph.util.VersionUtil;
+import org.apache.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.VersionUtil;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/JobApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/JobApiTest.java
index d00a5614..db4be006 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/JobApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/JobApiTest.java
@@ -27,7 +27,7 @@ import com.baidu.hugegraph.structure.Task;
 import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class JobApiTest extends BaseApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/PropertyKeyApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/PropertyKeyApiTest.java
index f55d70bd..91fc7182 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/PropertyKeyApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/PropertyKeyApiTest.java
@@ -31,9 +31,9 @@ import com.baidu.hugegraph.structure.constant.Cardinality;
 import com.baidu.hugegraph.structure.constant.DataType;
 import com.baidu.hugegraph.structure.constant.WriteType;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 
 public class PropertyKeyApiTest extends BaseApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/RestoreApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/RestoreApiTest.java
index 50e81457..734c1b42 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/RestoreApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/RestoreApiTest.java
@@ -23,7 +23,7 @@ import org.junit.Before;
 import org.junit.Test;
 
 import com.baidu.hugegraph.structure.constant.GraphMode;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class RestoreApiTest extends BaseApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/SchemaApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/SchemaApiTest.java
index 7a9ea69f..e2d7868d 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/SchemaApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/SchemaApiTest.java
@@ -25,7 +25,7 @@ import java.util.Map;
 import org.junit.Test;
 
 import com.baidu.hugegraph.structure.SchemaElement;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class SchemaApiTest extends BaseApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/TaskApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/TaskApiTest.java
index 60c1dec4..a36d5b47 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/TaskApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/TaskApiTest.java
@@ -34,7 +34,7 @@ import com.baidu.hugegraph.api.task.TasksWithPage;
 import com.baidu.hugegraph.structure.Task;
 import com.baidu.hugegraph.structure.gremlin.ResultSet;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
 
 public class TaskApiTest extends BaseApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VariablesApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VariablesApiTest.java
index 4228689b..278497b1 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VariablesApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VariablesApiTest.java
@@ -30,7 +30,7 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
 
 public class VariablesApiTest extends BaseApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VertexApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VertexApiTest.java
index 56cc9c5d..df5e7606 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VertexApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VertexApiTest.java
@@ -38,9 +38,9 @@ import com.baidu.hugegraph.structure.constant.WriteType;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.gremlin.ResultSet;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableMap;
 
 public class VertexApiTest extends BaseApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VertexLabelApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VertexLabelApiTest.java
index b903ca0f..90d45bf0 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VertexLabelApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/VertexLabelApiTest.java
@@ -30,9 +30,9 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.structure.constant.IdStrategy;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/AccessApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/AccessApiTest.java
index 7b78d147..b9948bb2 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/AccessApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/AccessApiTest.java
@@ -33,8 +33,8 @@ import com.baidu.hugegraph.structure.auth.Group;
 import com.baidu.hugegraph.structure.auth.HugePermission;
 import com.baidu.hugegraph.structure.auth.HugeResourceType;
 import com.baidu.hugegraph.structure.auth.Target;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class AccessApiTest extends AuthApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/BelongApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/BelongApiTest.java
index d90bb50f..d808d843 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/BelongApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/BelongApiTest.java
@@ -31,8 +31,8 @@ import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.auth.Belong;
 import com.baidu.hugegraph.structure.auth.Group;
 import com.baidu.hugegraph.structure.auth.User;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class BelongApiTest extends AuthApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/GroupApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/GroupApiTest.java
index f0fe4ca6..489f7a6f 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/GroupApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/GroupApiTest.java
@@ -28,8 +28,8 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.auth.Group;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class GroupApiTest extends AuthApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/LoginApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/LoginApiTest.java
index 6b02c40f..d3a55ce5 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/LoginApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/LoginApiTest.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.auth.Login;
 import com.baidu.hugegraph.structure.auth.LoginResult;
 import com.baidu.hugegraph.structure.auth.User;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class LoginApiTest extends AuthApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/LogoutApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/LogoutApiTest.java
index 4a91a219..39bfcf4e 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/LogoutApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/LogoutApiTest.java
@@ -30,8 +30,8 @@ import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.auth.Login;
 import com.baidu.hugegraph.structure.auth.LoginResult;
 import com.baidu.hugegraph.structure.auth.User;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class LogoutApiTest extends AuthApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/ProjectApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/ProjectApiTest.java
index bc4c5fbc..ffdeb354 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/ProjectApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/ProjectApiTest.java
@@ -33,7 +33,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.api.API;
 import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.auth.Project;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableSet;
 
 public class ProjectApiTest extends AuthApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/TargetApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/TargetApiTest.java
index 0770ed40..fda05e31 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/TargetApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/TargetApiTest.java
@@ -31,8 +31,8 @@ import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.auth.HugeResource;
 import com.baidu.hugegraph.structure.auth.HugeResourceType;
 import com.baidu.hugegraph.structure.auth.Target;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class TargetApiTest extends AuthApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/TokenApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/TokenApiTest.java
index 56d0afca..87d4d3db 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/TokenApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/TokenApiTest.java
@@ -31,8 +31,8 @@ import com.baidu.hugegraph.structure.auth.Login;
 import com.baidu.hugegraph.structure.auth.LoginResult;
 import com.baidu.hugegraph.structure.auth.TokenPayload;
 import com.baidu.hugegraph.structure.auth.User;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class TokenApiTest extends AuthApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/UserApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/UserApiTest.java
index cbf0a636..5277770f 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/UserApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/auth/UserApiTest.java
@@ -29,8 +29,8 @@ import org.junit.Test;
 import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.auth.User;
 import com.baidu.hugegraph.structure.auth.User.UserRole;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 
 public class UserApiTest extends AuthApiTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/AllShortestPathsApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/AllShortestPathsApiTest.java
index 1a693c91..a462b79b 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/AllShortestPathsApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/AllShortestPathsApiTest.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class AllShortestPathsApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CommonTraverserApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CommonTraverserApiTest.java
index 77574e14..179c1851 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CommonTraverserApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CommonTraverserApiTest.java
@@ -41,7 +41,7 @@ import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.graph.Vertices;
 import com.baidu.hugegraph.structure.traverser.CrosspointsRequest;
 import com.baidu.hugegraph.structure.traverser.CustomizedCrosspoints;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CountApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CountApiTest.java
index 89e72919..4f592474 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CountApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CountApiTest.java
@@ -27,7 +27,7 @@ import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.CountRequest;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CustomizedPathsApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CustomizedPathsApiTest.java
index 755cbc48..f9e5b10f 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CustomizedPathsApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/CustomizedPathsApiTest.java
@@ -37,7 +37,7 @@ import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.traverser.PathsWithVertices;
 import com.baidu.hugegraph.structure.traverser.CustomizedPathsRequest;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/FusiformSimilarityApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/FusiformSimilarityApiTest.java
index 7851cd4b..dfa26003 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/FusiformSimilarityApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/FusiformSimilarityApiTest.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.FusiformSimilarity;
 import com.baidu.hugegraph.structure.traverser.FusiformSimilarity.Similar;
 import com.baidu.hugegraph.structure.traverser.FusiformSimilarityRequest;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/JaccardSimilarityApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/JaccardSimilarityApiTest.java
index fd5c632e..f54b9fbb 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/JaccardSimilarityApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/JaccardSimilarityApiTest.java
@@ -31,7 +31,7 @@ import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.SingleSourceJaccardSimilarityRequest;
 
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableSet;
 
 public class JaccardSimilarityApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/KneighborApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/KneighborApiTest.java
index f94caccc..515b1f18 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/KneighborApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/KneighborApiTest.java
@@ -31,7 +31,7 @@ import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.Kneighbor;
 import com.baidu.hugegraph.structure.traverser.KneighborRequest;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/KoutApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/KoutApiTest.java
index b992e0cd..c0e7d0ba 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/KoutApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/KoutApiTest.java
@@ -32,7 +32,7 @@ import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.Kout;
 import com.baidu.hugegraph.structure.traverser.KoutRequest;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/MultiNodeShortestPathApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/MultiNodeShortestPathApiTest.java
index 2c8fec08..b4f69051 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/MultiNodeShortestPathApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/MultiNodeShortestPathApiTest.java
@@ -31,7 +31,7 @@ import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.MultiNodeShortestPathRequest;
 import com.baidu.hugegraph.structure.traverser.PathsWithVertices;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/NeighborRankApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/NeighborRankApiTest.java
index 8d94587e..b9cc9be2 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/NeighborRankApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/NeighborRankApiTest.java
@@ -34,7 +34,7 @@ import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.Ranks;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableMap;
 
 public class NeighborRankApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/PathsApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/PathsApiTest.java
index e7fe1bc1..a06ced97 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/PathsApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/PathsApiTest.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.PathsRequest;
 import com.baidu.hugegraph.structure.traverser.PathsWithVertices;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class PathsApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/PersonalRankApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/PersonalRankApiTest.java
index 75bd77cb..5c5c2acb 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/PersonalRankApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/PersonalRankApiTest.java
@@ -32,7 +32,7 @@ import com.baidu.hugegraph.driver.GraphManager;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableMap;
 
 public class PersonalRankApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/RingsRaysApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/RingsRaysApiTest.java
index 36d99c11..1b207d5e 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/RingsRaysApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/RingsRaysApiTest.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class RingsRaysApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/SameNeighborsApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/SameNeighborsApiTest.java
index 86d71d3d..059ca684 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/SameNeighborsApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/SameNeighborsApiTest.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class SameNeighborsApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/ShortestPathApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/ShortestPathApiTest.java
index 187216ca..87eba58e 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/ShortestPathApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/ShortestPathApiTest.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class ShortestPathApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/SingleSourceShortestPathApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/SingleSourceShortestPathApiTest.java
index 7ecb13b3..d6e4c4bd 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/SingleSourceShortestPathApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/SingleSourceShortestPathApiTest.java
@@ -27,7 +27,7 @@ import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.WeightedPath;
 import com.baidu.hugegraph.structure.traverser.WeightedPaths;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class SingleSourceShortestPathApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/TemplatePathsApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/TemplatePathsApiTest.java
index d91e2378..84deba66 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/TemplatePathsApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/TemplatePathsApiTest.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.PathsWithVertices;
 import com.baidu.hugegraph.structure.traverser.TemplatePathsRequest;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class TemplatePathsApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/WeightedShortestPathApiTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/WeightedShortestPathApiTest.java
index 560b959a..aaa17585 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/WeightedShortestPathApiTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/api/traverser/WeightedShortestPathApiTest.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.structure.constant.Direction;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.traverser.WeightedPath;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 
 public class WeightedShortestPathApiTest extends TraverserApiTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/AuthManagerTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/AuthManagerTest.java
index 4c37b760..e3f43a0b 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/AuthManagerTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/AuthManagerTest.java
@@ -41,7 +41,7 @@ import com.baidu.hugegraph.structure.auth.Target;
 import com.baidu.hugegraph.structure.auth.TokenPayload;
 import com.baidu.hugegraph.structure.auth.User;
 import com.baidu.hugegraph.structure.auth.User.UserRole;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableSet;
 
 public class AuthManagerTest extends BaseFuncTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/BatchInsertTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/BatchInsertTest.java
index b761ce01..cdad6461 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/BatchInsertTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/BatchInsertTest.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.BaseClientTest;
 import com.baidu.hugegraph.exception.InvalidOperationException;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class BatchInsertTest extends BaseFuncTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/EdgeLabelTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/EdgeLabelTest.java
index 89c00343..3c472d85 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/EdgeLabelTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/EdgeLabelTest.java
@@ -29,9 +29,11 @@ import org.junit.Test;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.structure.Task;
 import com.baidu.hugegraph.structure.schema.EdgeLabel;
-import com.baidu.hugegraph.testutil.Assert;
+
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.DateUtil;
+
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 
 public class EdgeLabelTest extends BaseFuncTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/EdgeTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/EdgeTest.java
index 94278fc1..f0ff3371 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/EdgeTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/EdgeTest.java
@@ -39,9 +39,9 @@ import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.gremlin.Result;
 import com.baidu.hugegraph.structure.gremlin.ResultSet;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterators;
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/GraphManagerTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/GraphManagerTest.java
index f421aece..d8bb09ef 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/GraphManagerTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/GraphManagerTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.BaseClientTest;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class GraphManagerTest extends BaseFuncTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/GraphModeTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/GraphModeTest.java
index 2182aa63..8910dcfe 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/GraphModeTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/GraphModeTest.java
@@ -25,7 +25,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.driver.GraphsManager;
 import com.baidu.hugegraph.structure.constant.GraphMode;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class GraphModeTest extends BaseFuncTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/HugeClientHttpsTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/HugeClientHttpsTest.java
index c65863b2..d3b29df0 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/HugeClientHttpsTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/HugeClientHttpsTest.java
@@ -29,7 +29,7 @@ import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableMap;
 
 public class HugeClientHttpsTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/HugeClientTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/HugeClientTest.java
index 06086ac8..e63b4282 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/HugeClientTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/HugeClientTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.functional;
 import org.junit.Test;
 
 import com.baidu.hugegraph.driver.HugeClient;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class HugeClientTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/IndexLabelTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/IndexLabelTest.java
index 83df0045..bbe33f9b 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/IndexLabelTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/IndexLabelTest.java
@@ -28,9 +28,11 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.DateUtil;
+
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 
 public class IndexLabelTest extends BaseFuncTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/MetricsManagerTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/MetricsManagerTest.java
index 066053ae..233d1598 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/MetricsManagerTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/MetricsManagerTest.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import org.junit.Test;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableSet;
 
 public class MetricsManagerTest extends BaseFuncTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/PropertyKeyTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/PropertyKeyTest.java
index 3c5c3569..28736d7d 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/PropertyKeyTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/PropertyKeyTest.java
@@ -29,9 +29,9 @@ import org.junit.Test;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.structure.constant.WriteType;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
+import org.apache.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 
 public class PropertyKeyTest extends BaseFuncTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/SchemaTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/SchemaTest.java
index 46898597..b3edb1c5 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/SchemaTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/SchemaTest.java
@@ -26,7 +26,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.BaseClientTest;
 import com.baidu.hugegraph.structure.SchemaElement;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class SchemaTest extends BaseFuncTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/TraverserManagerTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/TraverserManagerTest.java
index 93ca797d..3de718e1 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/TraverserManagerTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/TraverserManagerTest.java
@@ -31,7 +31,7 @@ import com.baidu.hugegraph.BaseClientTest;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Shard;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class TraverserManagerTest extends BaseFuncTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/VertexLabelTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/VertexLabelTest.java
index 554f5694..8be820a6 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/VertexLabelTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/VertexLabelTest.java
@@ -29,9 +29,11 @@ import org.junit.Test;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.structure.Task;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.util.DateUtil;
+
 import com.baidu.hugegraph.testutil.Utils;
-import com.baidu.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 
 public class VertexLabelTest extends BaseFuncTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/VertexTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/VertexTest.java
index 79ab3a73..d974271e 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/VertexTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/functional/VertexTest.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.exception.InvalidOperationException;
 import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/testutil/Utils.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/testutil/Utils.java
index a6b73976..267b786e 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/testutil/Utils.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/testutil/Utils.java
@@ -29,7 +29,7 @@ import java.util.stream.IntStream;
 
 import org.apache.commons.lang3.tuple.Pair;
 
-import com.baidu.hugegraph.date.SafeDateFormat;
+import org.apache.hugegraph.date.SafeDateFormat;
 import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.structure.GraphElement;
 import com.baidu.hugegraph.structure.constant.T;
@@ -39,8 +39,9 @@ import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.testutil.Assert.ThrowableRunnable;
-import com.baidu.hugegraph.util.DateUtil;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert.ThrowableRunnable;
+import org.apache.hugegraph.util.DateUtil;
 import com.google.common.collect.ImmutableList;
 
 public final class Utils {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/BatchElementRequestTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/BatchElementRequestTest.java
index 283cffd8..3d687414 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/BatchElementRequestTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/BatchElementRequestTest.java
@@ -31,8 +31,8 @@ import com.baidu.hugegraph.structure.graph.BatchVertexRequest;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.UpdateStrategy;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/CommonUtilTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/CommonUtilTest.java
index 41c55f10..bc3180fa 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/CommonUtilTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/CommonUtilTest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.unit;
 
 import org.junit.Test;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.util.CommonUtil;
 import com.google.common.collect.ImmutableMap;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/IndexLabelTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/IndexLabelTest.java
index 8ada3dc6..f1993658 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/IndexLabelTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/IndexLabelTest.java
@@ -24,7 +24,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.exception.NotSupportException;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.util.JsonUtil;
 
 public class IndexLabelTest {
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/PathSerializerTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/PathSerializerTest.java
index 6d772cba..0a35f4cc 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/PathSerializerTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/PathSerializerTest.java
@@ -24,7 +24,7 @@ import org.junit.Test;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Path;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
 import com.google.common.collect.ImmutableList;
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/PropertyKeyTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/PropertyKeyTest.java
index 7b13cd32..3ee417b9 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/PropertyKeyTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/PropertyKeyTest.java
@@ -25,7 +25,7 @@ import com.baidu.hugegraph.structure.constant.Cardinality;
 import com.baidu.hugegraph.structure.constant.DataType;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class PropertyKeyTest {
 
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/RestResultTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/RestResultTest.java
index 9b617b2b..a8dcd913 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/RestResultTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/RestResultTest.java
@@ -31,7 +31,7 @@ import org.junit.Test;
 import org.mockito.Mockito;
 
 import com.baidu.hugegraph.driver.GraphManager;
-import com.baidu.hugegraph.rest.RestResult;
+import org.apache.hugegraph.rest.RestResult;
 import com.baidu.hugegraph.serializer.PathDeserializer;
 import com.baidu.hugegraph.structure.constant.Cardinality;
 import com.baidu.hugegraph.structure.constant.DataType;
@@ -48,7 +48,7 @@ import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.testutil.Utils;
 import com.fasterxml.jackson.databind.module.SimpleModule;
 import com.google.common.collect.ImmutableList;
diff --git a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/VertexSerializerTest.java b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/VertexSerializerTest.java
index a232090f..4e770553 100644
--- a/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/VertexSerializerTest.java
+++ b/hugegraph-client/src/test/java/com/baidu/hugegraph/unit/VertexSerializerTest.java
@@ -24,7 +24,7 @@ import java.util.Map;
 import org.junit.Test;
 
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
diff --git a/hugegraph-hubble/hubble-be/pom.xml b/hugegraph-hubble/hubble-be/pom.xml
index 5de00d4b..37b1f9bc 100644
--- a/hugegraph-hubble/hubble-be/pom.xml
+++ b/hugegraph-hubble/hubble-be/pom.xml
@@ -65,12 +65,9 @@
         </dependency>
 
         <dependency>
-            <groupId>com.baidu.hugegraph</groupId>
-            <!-- TODO: replace it with inner pkg later -->
-<!--            <groupId>org.apache.hugegraph</groupId>-->
+            <groupId>org.apache.hugegraph</groupId>
             <artifactId>hugegraph-loader</artifactId>
-            <version>0.12.0</version>
-<!--            <version>${revision}</version>-->
+            <version>${revision}</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.apache.logging.log4j</groupId>
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/config/HubbleConfig.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/config/HubbleConfig.java
index d3d93045..75412f00 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/config/HubbleConfig.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/config/HubbleConfig.java
@@ -21,6 +21,8 @@ package com.baidu.hugegraph.config;
 
 import java.io.File;
 
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.OptionSpace;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.context.annotation.Bean;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/config/TomcatServletConfig.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/config/TomcatServletConfig.java
index 2602ed51..ff107bbd 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/config/TomcatServletConfig.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/config/TomcatServletConfig.java
@@ -22,6 +22,7 @@ package com.baidu.hugegraph.config;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 
+import org.apache.hugegraph.config.HugeConfig;
 import org.apache.tomcat.util.http.LegacyCookieProcessor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/GraphConnectionController.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/GraphConnectionController.java
index 171bd3e9..1c14c02a 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/GraphConnectionController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/GraphConnectionController.java
@@ -38,7 +38,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.baidu.hugegraph.common.Constant;
 import com.baidu.hugegraph.common.Response;
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.entity.GraphConnection;
 import com.baidu.hugegraph.exception.ExternalException;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/SettingController.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/SettingController.java
index 2de06784..351b68bd 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/SettingController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/SettingController.java
@@ -34,7 +34,7 @@ import org.springframework.web.bind.annotation.RestController;
 import com.baidu.hugegraph.common.Constant;
 import com.baidu.hugegraph.entity.UserInfo;
 import com.baidu.hugegraph.service.UserInfoService;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 @RestController
 @RequestMapping(Constant.API_VERSION + "setting")
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/load/FileMappingController.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/load/FileMappingController.java
index 15a7d172..ee563b2c 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/load/FileMappingController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/load/FileMappingController.java
@@ -52,7 +52,7 @@ import com.baidu.hugegraph.service.load.FileMappingService;
 import com.baidu.hugegraph.service.load.JobManagerService;
 import com.baidu.hugegraph.service.schema.EdgeLabelService;
 import com.baidu.hugegraph.service.schema.VertexLabelService;
-import com.baidu.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.CollectionUtil;
 import com.baidu.hugegraph.util.Ex;
 import com.baidu.hugegraph.util.HubbleUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/load/FileUploadController.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/load/FileUploadController.java
index 97dfb8dd..c495fe05 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/load/FileUploadController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/load/FileUploadController.java
@@ -46,7 +46,7 @@ import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
 import com.baidu.hugegraph.common.Constant;
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.entity.enums.FileMappingStatus;
 import com.baidu.hugegraph.entity.enums.JobStatus;
 import com.baidu.hugegraph.entity.load.FileMapping;
@@ -56,7 +56,7 @@ import com.baidu.hugegraph.exception.InternalException;
 import com.baidu.hugegraph.options.HubbleOptions;
 import com.baidu.hugegraph.service.load.FileMappingService;
 import com.baidu.hugegraph.service.load.JobManagerService;
-import com.baidu.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.CollectionUtil;
 import com.baidu.hugegraph.util.Ex;
 import com.baidu.hugegraph.util.FileUtil;
 import com.baidu.hugegraph.util.HubbleUtil;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/schema/EdgeLabelController.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/schema/EdgeLabelController.java
index b09a0ed1..a835c229 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/schema/EdgeLabelController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/schema/EdgeLabelController.java
@@ -47,7 +47,7 @@ import com.baidu.hugegraph.service.schema.EdgeLabelService;
 import com.baidu.hugegraph.service.schema.PropertyIndexService;
 import com.baidu.hugegraph.service.schema.PropertyKeyService;
 import com.baidu.hugegraph.service.schema.VertexLabelService;
-import com.baidu.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.CollectionUtil;
 import com.baidu.hugegraph.util.Ex;
 import com.baidu.hugegraph.util.HubbleUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/schema/VertexLabelController.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/schema/VertexLabelController.java
index 537b05ee..13fdacae 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/schema/VertexLabelController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/controller/schema/VertexLabelController.java
@@ -50,7 +50,7 @@ import com.baidu.hugegraph.service.schema.PropertyIndexService;
 import com.baidu.hugegraph.service.schema.PropertyKeyService;
 import com.baidu.hugegraph.service.schema.VertexLabelService;
 import com.baidu.hugegraph.structure.constant.IdStrategy;
-import com.baidu.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.CollectionUtil;
 import com.baidu.hugegraph.util.Ex;
 import com.baidu.hugegraph.util.HubbleUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/handler/CustomApplicationRunner.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/handler/CustomApplicationRunner.java
index 78b9e009..4d5dac0d 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/handler/CustomApplicationRunner.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/handler/CustomApplicationRunner.java
@@ -24,7 +24,7 @@ import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
 import org.springframework.stereotype.Component;
 
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.license.ServerInfo;
 import com.baidu.hugegraph.options.HubbleOptions;
 
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/license/ServerInfo.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/license/ServerInfo.java
index a8ccc2f3..07d2a107 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/license/ServerInfo.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/license/ServerInfo.java
@@ -19,6 +19,8 @@
 
 package com.baidu.hugegraph.license;
 
+import org.apache.hugegraph.license.MachineInfo;
+
 public final class ServerInfo {
 
     private final String serverId;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/options/HubbleOptions.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/options/HubbleOptions.java
index 33274d36..3c8a902a 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/options/HubbleOptions.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/options/HubbleOptions.java
@@ -19,17 +19,17 @@
 
 package com.baidu.hugegraph.options;
 
-import static com.baidu.hugegraph.config.OptionChecker.allowValues;
-import static com.baidu.hugegraph.config.OptionChecker.disallowEmpty;
-import static com.baidu.hugegraph.config.OptionChecker.positiveInt;
-import static com.baidu.hugegraph.config.OptionChecker.rangeInt;
+import static org.apache.hugegraph.config.OptionChecker.allowValues;
+import static org.apache.hugegraph.config.OptionChecker.disallowEmpty;
+import static org.apache.hugegraph.config.OptionChecker.positiveInt;
+import static org.apache.hugegraph.config.OptionChecker.rangeInt;
 
 import org.springframework.util.CollectionUtils;
 
-import com.baidu.hugegraph.config.ConfigListOption;
-import com.baidu.hugegraph.config.ConfigOption;
-import com.baidu.hugegraph.config.OptionHolder;
-import com.baidu.hugegraph.util.Bytes;
+import org.apache.hugegraph.config.ConfigListOption;
+import org.apache.hugegraph.config.ConfigOption;
+import org.apache.hugegraph.config.OptionHolder;
+import org.apache.hugegraph.util.Bytes;
 import com.baidu.hugegraph.util.HubbleUtil;
 
 public class HubbleOptions extends OptionHolder {
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/HugeClientPoolService.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/HugeClientPoolService.java
index 781bf071..0f9b9cb9 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/HugeClientPoolService.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/HugeClientPoolService.java
@@ -26,7 +26,7 @@ import javax.annotation.PreDestroy;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.entity.GraphConnection;
 import com.baidu.hugegraph.exception.ExternalException;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/SettingSSLService.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/SettingSSLService.java
index 234fe2cf..089a4e69 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/SettingSSLService.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/SettingSSLService.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.service;
 
 import org.springframework.stereotype.Service;
 
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.entity.GraphConnection;
 import com.baidu.hugegraph.options.HubbleOptions;
 
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/load/FileMappingService.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/load/FileMappingService.java
index defc52c8..a4fd3ff1 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/load/FileMappingService.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/load/FileMappingService.java
@@ -49,7 +49,7 @@ import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.entity.enums.FileMappingStatus;
 import com.baidu.hugegraph.entity.load.FileMapping;
 import com.baidu.hugegraph.entity.load.FileSetting;
@@ -59,7 +59,7 @@ import com.baidu.hugegraph.mapper.load.FileMappingMapper;
 import com.baidu.hugegraph.options.HubbleOptions;
 import com.baidu.hugegraph.util.Ex;
 import com.baidu.hugegraph.util.HubbleUtil;
-import com.baidu.hugegraph.util.StringUtil;
+import org.apache.hugegraph.util.StringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/load/LoadTaskService.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/load/LoadTaskService.java
index cfd5034a..a3563d48 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/load/LoadTaskService.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/load/LoadTaskService.java
@@ -38,7 +38,7 @@ import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.baidu.hugegraph.common.Constant;
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.entity.GraphConnection;
 import com.baidu.hugegraph.entity.enums.LoadStatus;
 import com.baidu.hugegraph.entity.load.EdgeMapping;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/query/ExecuteHistoryService.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/query/ExecuteHistoryService.java
index bdc18a29..4b8be8da 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/query/ExecuteHistoryService.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/query/ExecuteHistoryService.java
@@ -29,7 +29,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.entity.enums.AsyncTaskStatus;
 import com.baidu.hugegraph.entity.enums.ExecuteType;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/query/GremlinQueryService.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/query/GremlinQueryService.java
index 75381551..2a481759 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/query/GremlinQueryService.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/query/GremlinQueryService.java
@@ -37,7 +37,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import com.baidu.hugegraph.api.gremlin.GremlinRequest;
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.entity.query.AdjacentQuery;
 import com.baidu.hugegraph.entity.query.GraphView;
@@ -53,7 +53,7 @@ import com.baidu.hugegraph.exception.IllegalGremlinException;
 import com.baidu.hugegraph.exception.InternalException;
 import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.options.HubbleOptions;
-import com.baidu.hugegraph.rest.ClientException;
+import org.apache.hugegraph.rest.ClientException;
 import com.baidu.hugegraph.service.HugeClientPoolService;
 import com.baidu.hugegraph.service.schema.VertexLabelService;
 import com.baidu.hugegraph.structure.constant.Direction;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/schema/SchemaService.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/schema/SchemaService.java
index 703e7df8..c378fe5d 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/schema/SchemaService.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/service/schema/SchemaService.java
@@ -34,7 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import com.baidu.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.HugeConfig;
 import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.entity.schema.ConflictDetail;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/util/HugeClientUtil.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/util/HugeClientUtil.java
index 97149a85..6d6e93bc 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/util/HugeClientUtil.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/util/HugeClientUtil.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.entity.GraphConnection;
 import com.baidu.hugegraph.exception.ExternalException;
 import com.baidu.hugegraph.exception.ServerException;
-import com.baidu.hugegraph.rest.ClientException;
+import org.apache.hugegraph.rest.ClientException;
 import com.baidu.hugegraph.structure.gremlin.Result;
 import com.baidu.hugegraph.structure.gremlin.ResultSet;
 import com.google.common.collect.ImmutableSet;
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/util/SerializeUtil.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/util/SerializeUtil.java
index d0ffa384..ca04793a 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/util/SerializeUtil.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/util/SerializeUtil.java
@@ -26,6 +26,7 @@ import org.apache.commons.io.FileUtils;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.JsonSerializer;
 import com.fasterxml.jackson.databind.SerializerProvider;
+import org.apache.hugegraph.util.TimeUtil;
 
 public final class SerializeUtil {
 
diff --git a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/version/HubbleVersion.java b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/version/HubbleVersion.java
index d651f185..c9e21c61 100644
--- a/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/version/HubbleVersion.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/com/baidu/hugegraph/version/HubbleVersion.java
@@ -19,8 +19,9 @@
 
 package com.baidu.hugegraph.version;
 
-import com.baidu.hugegraph.util.VersionUtil;
-import com.baidu.hugegraph.util.VersionUtil.Version;
+import org.apache.hugegraph.util.VersionUtil;
+import org.apache.hugegraph.util.VersionUtil.Version;
+import org.apache.hugegraph.version.CommonVersion;
 
 public final class HubbleVersion {
 
diff --git a/hugegraph-hubble/hubble-be/src/test/java/com/baidu/hugegraph/unit/EntityUtilTest.java b/hugegraph-hubble/hubble-be/src/test/java/com/baidu/hugegraph/unit/EntityUtilTest.java
index 0bc28772..3034b423 100644
--- a/hugegraph-hubble/hubble-be/src/test/java/com/baidu/hugegraph/unit/EntityUtilTest.java
+++ b/hugegraph-hubble/hubble-be/src/test/java/com/baidu/hugegraph/unit/EntityUtilTest.java
@@ -24,7 +24,7 @@ import java.util.Date;
 import org.junit.Test;
 
 import com.baidu.hugegraph.entity.GraphConnection;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.util.EntityUtil;
 
 public class EntityUtilTest {
diff --git a/hugegraph-hubble/hubble-be/src/test/java/com/baidu/hugegraph/unit/FileUtilTest.java b/hugegraph-hubble/hubble-be/src/test/java/com/baidu/hugegraph/unit/FileUtilTest.java
index 89617954..5420f49f 100644
--- a/hugegraph-hubble/hubble-be/src/test/java/com/baidu/hugegraph/unit/FileUtilTest.java
+++ b/hugegraph-hubble/hubble-be/src/test/java/com/baidu/hugegraph/unit/FileUtilTest.java
@@ -21,7 +21,7 @@ package com.baidu.hugegraph.unit;
 
 import org.junit.Test;
 
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.baidu.hugegraph.util.FileUtil;
 
 public class FileUtilTest {
diff --git a/hugegraph-hubble/hubble-dist/assembly/static/lib/ojdbc8-12.2.0.1.jar b/hugegraph-hubble/hubble-dist/assembly/static/lib/ojdbc8-12.2.0.1.jar
new file mode 100644
index 00000000..bf412434
Binary files /dev/null and b/hugegraph-hubble/hubble-dist/assembly/static/lib/ojdbc8-12.2.0.1.jar differ
diff --git a/hugegraph-loader/pom.xml b/hugegraph-loader/pom.xml
index a65a66cf..b959395f 100644
--- a/hugegraph-loader/pom.xml
+++ b/hugegraph-loader/pom.xml
@@ -47,6 +47,32 @@
             <groupId>org.apache.spark</groupId>
             <artifactId>spark-core_${scala.version}</artifactId>
             <version>${spark.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>jersey-client</artifactId>
+                    <groupId>org.glassfish.jersey.core</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>jersey-common</artifactId>
+                    <groupId>org.glassfish.jersey.core</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>jersey-container-servlet</artifactId>
+                    <groupId>org.glassfish.jersey.containers</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>jersey-container-servlet-core</artifactId>
+                    <groupId>org.glassfish.jersey.containers</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>jersey-hk2</artifactId>
+                    <groupId>org.glassfish.jersey.inject</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>jersey-server</artifactId>
+                    <groupId>org.glassfish.jersey.core</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.spark</groupId>
@@ -100,14 +126,19 @@
             <groupId>org.apache.hugegraph</groupId>
             <artifactId>hugegraph-client</artifactId>
             <version>${revision}</version>
-            <scope>compile</scope>
-<!--            <groupId>com.baidu.hugegraph</groupId>-->
-<!--            <artifactId>hugegraph-client</artifactId>-->
-<!--            <version>2.0.1</version>-->
             <exclusions>
+                <!-- Note: jackson version should < 2.13 with scala 2.12 -->
                 <exclusion>
-                    <groupId>com.google.guava</groupId>
-                    <artifactId>guava</artifactId>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.module</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.jaxrs</groupId>
+                    <artifactId>*</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
@@ -146,7 +177,7 @@
         <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-common</artifactId>
-            <version>3.2.4</version>
+            <version>3.3.1</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.slf4j</groupId>
@@ -191,13 +222,6 @@
             <artifactId>hadoop-hdfs-client</artifactId>
             <version>2.10.1</version>
         </dependency>
-        <!--
-        <dependency>
-            <groupId>com.baidu.inf.hadoop</groupId>
-            <artifactId>libdfs-java</artifactId>
-            <version>2.0.5</version>
-        </dependency>
-        -->
         <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-mapred</artifactId>
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/HugeGraphLoader.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/HugeGraphLoader.java
index 9a49e569..e92394b0 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/HugeGraphLoader.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/HugeGraphLoader.java
@@ -52,7 +52,7 @@ import com.baidu.hugegraph.loader.task.TaskManager;
 import com.baidu.hugegraph.loader.util.HugeClientHolder;
 import com.baidu.hugegraph.loader.util.LoadUtil;
 import com.baidu.hugegraph.loader.util.Printer;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public final class HugeGraphLoader {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/MappingConverter.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/MappingConverter.java
index c96820b0..0ec10601 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/MappingConverter.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/MappingConverter.java
@@ -27,8 +27,8 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.loader.mapping.LoadMapping;
 import com.baidu.hugegraph.loader.util.MappingUtil;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public final class MappingConverter {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/EdgeBuilder.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/EdgeBuilder.java
index 864e4f74..e3d411ef 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/EdgeBuilder.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/EdgeBuilder.java
@@ -35,7 +35,7 @@ import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.SchemaLabel;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableList;
 
 public class EdgeBuilder extends ElementBuilder<Edge> {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/ElementBuilder.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/ElementBuilder.java
index fa280c6e..aff8e7be 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/ElementBuilder.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/ElementBuilder.java
@@ -51,8 +51,8 @@ import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
 import com.baidu.hugegraph.structure.schema.SchemaLabel;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.LongEncoding;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.LongEncoding;
 import com.google.common.collect.ImmutableList;
 
 public abstract class ElementBuilder<GE extends GraphElement> {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/VertexBuilder.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/VertexBuilder.java
index f6bbb2f5..2366bc2c 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/VertexBuilder.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/builder/VertexBuilder.java
@@ -28,7 +28,7 @@ import com.baidu.hugegraph.loader.mapping.VertexMapping;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.schema.SchemaLabel;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class VertexBuilder extends ElementBuilder<Vertex> {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/executor/LoadContext.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/executor/LoadContext.java
index 117124d4..a3eb5dc9 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/executor/LoadContext.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/executor/LoadContext.java
@@ -37,7 +37,7 @@ import com.baidu.hugegraph.loader.progress.LoadProgress;
 import com.baidu.hugegraph.loader.util.DateUtil;
 import com.baidu.hugegraph.loader.util.HugeClientHolder;
 import com.baidu.hugegraph.structure.constant.GraphMode;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public final class LoadContext implements Serializable {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/executor/LoadOptions.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/executor/LoadOptions.java
index ac12d53b..c90b1d74 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/executor/LoadOptions.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/executor/LoadOptions.java
@@ -28,8 +28,8 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.util.LoadUtil;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 import com.beust.jcommander.IParameterValidator;
 import com.beust.jcommander.JCommander;
 import com.beust.jcommander.Parameter;
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/failure/FailLogger.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/failure/FailLogger.java
index 8be0a110..cfe3d400 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/failure/FailLogger.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/failure/FailLogger.java
@@ -49,7 +49,7 @@ import com.baidu.hugegraph.loader.executor.LoadOptions;
 import com.baidu.hugegraph.loader.mapping.InputStruct;
 import com.baidu.hugegraph.loader.util.LoadUtil;
 import com.baidu.hugegraph.util.JsonUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 import com.google.common.hash.HashFunction;
 import com.google.common.hash.Hashing;
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/failure/FailWriter.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/failure/FailWriter.java
index 799dd881..8f27474e 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/failure/FailWriter.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/failure/FailWriter.java
@@ -34,7 +34,7 @@ import com.baidu.hugegraph.loader.exception.InsertException;
 import com.baidu.hugegraph.loader.exception.LoadException;
 import com.baidu.hugegraph.loader.exception.ParseException;
 import com.baidu.hugegraph.loader.exception.ReadException;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public final class FailWriter {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphDeserialization.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphDeserialization.java
index 9c3d36ca..2ffb9356 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphDeserialization.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphDeserialization.java
@@ -31,7 +31,7 @@ import org.apache.kafka.connect.source.SourceRecord;
 import org.slf4j.Logger;
 
 import com.baidu.hugegraph.loader.constant.Constants;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.ververica.cdc.debezium.DebeziumDeserializationSchema;
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphFlinkCDCLoader.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphFlinkCDCLoader.java
index 33602dcf..eec6c541 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphFlinkCDCLoader.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphFlinkCDCLoader.java
@@ -34,7 +34,7 @@ import com.baidu.hugegraph.loader.mapping.InputStruct;
 import com.baidu.hugegraph.loader.mapping.LoadMapping;
 import com.baidu.hugegraph.loader.source.jdbc.JDBCSource;
 import com.baidu.hugegraph.loader.util.Printer;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 import com.ververica.cdc.connectors.mysql.source.MySqlSource;
 
 public class HugeGraphFlinkCDCLoader {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphOutputFormat.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphOutputFormat.java
index 36b5dc23..2a72002d 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphOutputFormat.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/flink/HugeGraphOutputFormat.java
@@ -56,7 +56,7 @@ import com.baidu.hugegraph.structure.graph.BatchVertexRequest;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.UpdateStrategy;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 import io.debezium.data.Envelope;
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/EdgeMapping.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/EdgeMapping.java
index 6001d91c..8a0d34ad 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/EdgeMapping.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/EdgeMapping.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.loader.mapping;
 import java.util.List;
 
 import com.baidu.hugegraph.loader.constant.ElemType;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/ElementMapping.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/ElementMapping.java
index b5ef9acf..67d7925b 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/ElementMapping.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/ElementMapping.java
@@ -32,7 +32,7 @@ import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.constant.ElemType;
 import com.baidu.hugegraph.loader.source.InputSource;
 import com.baidu.hugegraph.structure.graph.UpdateStrategy;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
 import com.google.common.collect.ImmutableSet;
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/InputStruct.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/InputStruct.java
index 850015ce..25cb5997 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/InputStruct.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/InputStruct.java
@@ -27,7 +27,7 @@ import org.apache.commons.lang3.StringUtils;
 
 import com.baidu.hugegraph.loader.constant.Checkable;
 import com.baidu.hugegraph.loader.source.InputSource;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/LoadMapping.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/LoadMapping.java
index ff342dd5..48f5beca 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/LoadMapping.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/mapping/LoadMapping.java
@@ -41,7 +41,7 @@ import com.baidu.hugegraph.loader.source.file.FileSource;
 import com.baidu.hugegraph.loader.util.JsonUtil;
 import com.baidu.hugegraph.loader.util.LoadUtil;
 import com.baidu.hugegraph.loader.util.MappingUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/metrics/LoadSummary.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/metrics/LoadSummary.java
index e28993cc..1c54e3c5 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/metrics/LoadSummary.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/metrics/LoadSummary.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.constant.ElemType;
 import com.baidu.hugegraph.loader.mapping.InputStruct;
 import com.baidu.hugegraph.loader.mapping.LoadMapping;
-import com.baidu.hugegraph.util.InsertionOrderUtil;
+import org.apache.hugegraph.util.InsertionOrderUtil;;
 
 public final class LoadSummary {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/parser/JsonLineParser.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/parser/JsonLineParser.java
index 8b95a324..6d9f8466 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/parser/JsonLineParser.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/parser/JsonLineParser.java
@@ -24,7 +24,7 @@ import java.util.Map;
 import com.baidu.hugegraph.loader.exception.ReadException;
 import com.baidu.hugegraph.loader.reader.line.Line;
 import com.baidu.hugegraph.loader.util.JsonUtil;
-import com.baidu.hugegraph.rest.SerializeException;
+import org.apache.hugegraph.rest.SerializeException;
 
 public class JsonLineParser implements LineParser {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/parser/TextLineParser.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/parser/TextLineParser.java
index 56fb41ae..d2fb1fbd 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/parser/TextLineParser.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/parser/TextLineParser.java
@@ -24,7 +24,7 @@ import java.util.Arrays;
 import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.exception.ReadException;
 import com.baidu.hugegraph.loader.reader.line.Line;
-import com.baidu.hugegraph.util.StringUtil;
+import org.apache.hugegraph.util.StringUtil;
 
 public class TextLineParser implements LineParser {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/progress/InputProgress.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/progress/InputProgress.java
index 01a41051..5aa681d6 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/progress/InputProgress.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/progress/InputProgress.java
@@ -23,7 +23,7 @@ import java.util.Set;
 
 import com.baidu.hugegraph.loader.mapping.InputStruct;
 import com.baidu.hugegraph.loader.source.SourceType;
-import com.baidu.hugegraph.util.InsertionOrderUtil;
+import org.apache.hugegraph.util.InsertionOrderUtil;;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/progress/LoadProgress.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/progress/LoadProgress.java
index deb00ce5..09f67a5e 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/progress/LoadProgress.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/progress/LoadProgress.java
@@ -38,7 +38,7 @@ import com.baidu.hugegraph.loader.executor.LoadOptions;
 import com.baidu.hugegraph.loader.mapping.InputStruct;
 import com.baidu.hugegraph.loader.util.JsonUtil;
 import com.baidu.hugegraph.loader.util.LoadUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/FileLineFetcher.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/FileLineFetcher.java
index 7f5c7357..ae1f1337 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/FileLineFetcher.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/FileLineFetcher.java
@@ -19,7 +19,7 @@
 
 package com.baidu.hugegraph.loader.reader.file;
 
-import static com.baidu.hugegraph.util.Bytes.MB;
+import static org.apache.hugegraph.util.Bytes.MB;
 
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -51,8 +51,8 @@ import com.baidu.hugegraph.loader.reader.line.LineFetcher;
 import com.baidu.hugegraph.loader.source.file.Compression;
 import com.baidu.hugegraph.loader.source.file.FileFormat;
 import com.baidu.hugegraph.loader.source.file.FileSource;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 /**
  * Used to iterate all readable data files, like local files, hdfs paths
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/FileReader.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/FileReader.java
index 06876d59..6bb8f068 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/FileReader.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/FileReader.java
@@ -36,7 +36,7 @@ import com.baidu.hugegraph.loader.reader.AbstractReader;
 import com.baidu.hugegraph.loader.reader.Readable;
 import com.baidu.hugegraph.loader.reader.line.Line;
 import com.baidu.hugegraph.loader.source.file.FileSource;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public abstract class FileReader extends AbstractReader {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/OrcFileLineFetcher.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/OrcFileLineFetcher.java
index df6e9b9e..8e19adb4 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/OrcFileLineFetcher.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/OrcFileLineFetcher.java
@@ -38,7 +38,7 @@ import com.baidu.hugegraph.loader.exception.LoadException;
 import com.baidu.hugegraph.loader.reader.Readable;
 import com.baidu.hugegraph.loader.reader.line.Line;
 import com.baidu.hugegraph.loader.source.file.FileSource;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class OrcFileLineFetcher extends FileLineFetcher {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/ParquetFileLineFetcher.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/ParquetFileLineFetcher.java
index a7ea065c..b99136cd 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/ParquetFileLineFetcher.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/file/ParquetFileLineFetcher.java
@@ -43,7 +43,7 @@ import com.baidu.hugegraph.loader.reader.Readable;
 import com.baidu.hugegraph.loader.reader.line.Line;
 import com.baidu.hugegraph.loader.source.file.FileSource;
 import com.baidu.hugegraph.loader.util.ParquetUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class ParquetFileLineFetcher extends FileLineFetcher {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/hdfs/HDFSFileReader.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/hdfs/HDFSFileReader.java
index d0fab59a..90cdfa1f 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/hdfs/HDFSFileReader.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/hdfs/HDFSFileReader.java
@@ -46,7 +46,7 @@ import com.baidu.hugegraph.loader.source.file.Compression;
 import com.baidu.hugegraph.loader.source.file.FileFilter;
 import com.baidu.hugegraph.loader.source.hdfs.HDFSSource;
 import com.baidu.hugegraph.loader.source.hdfs.KerberosConfig;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class HDFSFileReader extends FileReader {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/jdbc/RowFetcher.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/jdbc/RowFetcher.java
index b058d115..dc65314c 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/jdbc/RowFetcher.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/jdbc/RowFetcher.java
@@ -36,8 +36,8 @@ import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.exception.LoadException;
 import com.baidu.hugegraph.loader.reader.line.Line;
 import com.baidu.hugegraph.loader.source.jdbc.JDBCSource;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public class RowFetcher {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/line/Line.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/line/Line.java
index b3373796..c254013d 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/line/Line.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/line/Line.java
@@ -24,7 +24,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.Sets;
 
 public final class Line {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/line/LineFetcher.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/line/LineFetcher.java
index b472670e..a72d3c94 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/line/LineFetcher.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/reader/line/LineFetcher.java
@@ -24,7 +24,7 @@ import java.util.List;
 
 import com.baidu.hugegraph.loader.reader.Readable;
 import com.baidu.hugegraph.loader.source.InputSource;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 /**
  * Maybe can be used as base class for JDBC RowFetcher
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/AbstractSource.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/AbstractSource.java
index 518831ac..ed2136b3 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/AbstractSource.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/AbstractSource.java
@@ -26,8 +26,8 @@ import java.util.List;
 
 import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.source.file.ListFormat;
-import com.baidu.hugegraph.util.CollectionUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.CollectionUtil;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public abstract class AbstractSource implements InputSource, Serializable {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/file/FileSource.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/file/FileSource.java
index d0ace568..5d851677 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/file/FileSource.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/file/FileSource.java
@@ -23,7 +23,7 @@ import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.source.AbstractSource;
 import com.baidu.hugegraph.loader.source.SourceType;
 import com.baidu.hugegraph.loader.util.DateUtil;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/hdfs/HDFSSource.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/hdfs/HDFSSource.java
index bce5d142..d09c96c7 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/hdfs/HDFSSource.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/hdfs/HDFSSource.java
@@ -27,7 +27,7 @@ import org.apache.commons.lang3.StringUtils;
 
 import com.baidu.hugegraph.loader.source.SourceType;
 import com.baidu.hugegraph.loader.source.file.FileSource;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class HDFSSource extends FileSource {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/hdfs/KerberosConfig.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/hdfs/KerberosConfig.java
index 3fac8000..099f43c6 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/hdfs/KerberosConfig.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/hdfs/KerberosConfig.java
@@ -26,7 +26,7 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 
 import com.baidu.hugegraph.loader.constant.Checkable;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class KerberosConfig implements Checkable {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/jdbc/JDBCSource.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/jdbc/JDBCSource.java
index 571c5a97..19294fe3 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/jdbc/JDBCSource.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/jdbc/JDBCSource.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.loader.source.jdbc;
 import com.baidu.hugegraph.loader.source.AbstractSource;
 import com.baidu.hugegraph.loader.source.SourceType;
 import com.baidu.hugegraph.loader.source.file.FileSource;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/jdbc/JDBCVendor.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/jdbc/JDBCVendor.java
index 82e4754d..540c779f 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/jdbc/JDBCVendor.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/source/jdbc/JDBCVendor.java
@@ -27,7 +27,7 @@ import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.exception.LoadException;
 import com.baidu.hugegraph.loader.reader.jdbc.JDBCUtil;
 import com.baidu.hugegraph.loader.reader.line.Line;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public enum JDBCVendor {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/spark/HugeGraphSparkLoader.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/spark/HugeGraphSparkLoader.java
index 143dd2f0..ae821303 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/spark/HugeGraphSparkLoader.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/spark/HugeGraphSparkLoader.java
@@ -44,7 +44,7 @@ import com.baidu.hugegraph.structure.graph.BatchVertexRequest;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.UpdateStrategy;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 import org.apache.spark.sql.DataFrameReader;
 import org.apache.spark.sql.Dataset;
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/EdgeStructV1.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/EdgeStructV1.java
index 44fb9e26..e2f8a64a 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/EdgeStructV1.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/EdgeStructV1.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.loader.struct;
 import java.util.List;
 
 import com.baidu.hugegraph.loader.constant.ElemType;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/ElementStructV1.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/ElementStructV1.java
index 6d1dd49f..dc6f6671 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/ElementStructV1.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/ElementStructV1.java
@@ -31,8 +31,8 @@ import com.baidu.hugegraph.loader.constant.Unique;
 import com.baidu.hugegraph.loader.source.InputSource;
 import com.baidu.hugegraph.loader.util.JsonUtil;
 import com.baidu.hugegraph.structure.graph.UpdateStrategy;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.HashUtil;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.HashUtil;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/GraphStructV1.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/GraphStructV1.java
index ec66497a..f38e4b20 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/GraphStructV1.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/struct/GraphStructV1.java
@@ -37,8 +37,8 @@ import com.baidu.hugegraph.loader.exception.LoadException;
 import com.baidu.hugegraph.loader.executor.LoadContext;
 import com.baidu.hugegraph.loader.executor.LoadOptions;
 import com.baidu.hugegraph.loader.util.JsonUtil;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/BatchInsertTask.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/BatchInsertTask.java
index 61ee8326..d9d22b14 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/BatchInsertTask.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/BatchInsertTask.java
@@ -33,8 +33,8 @@ import com.baidu.hugegraph.loader.executor.LoadOptions;
 import com.baidu.hugegraph.loader.mapping.ElementMapping;
 import com.baidu.hugegraph.loader.mapping.InputStruct;
 import com.baidu.hugegraph.loader.util.Printer;
-import com.baidu.hugegraph.rest.ClientException;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.rest.ClientException;
+import org.apache.hugegraph.util.Log;
 
 public class BatchInsertTask extends InsertTask {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/ParseTaskBuilder.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/ParseTaskBuilder.java
index 2cdf6b21..47b75f46 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/ParseTaskBuilder.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/ParseTaskBuilder.java
@@ -40,8 +40,8 @@ import com.baidu.hugegraph.loader.reader.line.Line;
 import com.baidu.hugegraph.structure.GraphElement;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 
 public final class ParseTaskBuilder {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/SingleInsertTask.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/SingleInsertTask.java
index 9890d6e3..432e4949 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/SingleInsertTask.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/SingleInsertTask.java
@@ -33,7 +33,7 @@ import com.baidu.hugegraph.loader.executor.LoadOptions;
 import com.baidu.hugegraph.loader.mapping.ElementMapping;
 import com.baidu.hugegraph.loader.mapping.InputStruct;
 import com.baidu.hugegraph.loader.util.Printer;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 import com.google.common.collect.ImmutableList;
 
 public class SingleInsertTask extends InsertTask {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/TaskManager.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/TaskManager.java
index 97906f76..ee2b35cb 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/TaskManager.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/task/TaskManager.java
@@ -37,8 +37,8 @@ import com.baidu.hugegraph.loader.executor.LoadOptions;
 import com.baidu.hugegraph.loader.mapping.ElementMapping;
 import com.baidu.hugegraph.loader.mapping.InputStruct;
 import com.baidu.hugegraph.loader.metrics.LoadSummary;
-import com.baidu.hugegraph.util.ExecutorUtil;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.ExecutorUtil;
+import org.apache.hugegraph.util.Log;
 
 public final class TaskManager {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/DataTypeUtil.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/DataTypeUtil.java
index 6f4e4dba..ac7216ae 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/DataTypeUtil.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/DataTypeUtil.java
@@ -34,9 +34,9 @@ import com.baidu.hugegraph.loader.source.file.ListFormat;
 import com.baidu.hugegraph.structure.constant.Cardinality;
 import com.baidu.hugegraph.structure.constant.DataType;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.InsertionOrderUtil;
-import com.baidu.hugegraph.util.ReflectionUtil;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.InsertionOrderUtil;;
+import org.apache.hugegraph.util.ReflectionUtil;
 import com.google.common.base.Splitter;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/DateUtil.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/DateUtil.java
index eb2518b6..f86ff029 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/DateUtil.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/DateUtil.java
@@ -24,7 +24,7 @@ import java.util.Map;
 import java.util.TimeZone;
 import java.util.concurrent.ConcurrentHashMap;
 
-import com.baidu.hugegraph.date.SafeDateFormat;
+import org.apache.hugegraph.date.SafeDateFormat;
 import com.baidu.hugegraph.loader.constant.Constants;
 
 public final class DateUtil {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/HugeClientHolder.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/HugeClientHolder.java
index 353eecab..4700c415 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/HugeClientHolder.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/HugeClientHolder.java
@@ -29,8 +29,8 @@ import com.baidu.hugegraph.exception.ServerException;
 import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.exception.LoadException;
 import com.baidu.hugegraph.loader.executor.LoadOptions;
-import com.baidu.hugegraph.rest.ClientException;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.rest.ClientException;
+import org.apache.hugegraph.util.E;
 
 public final class HugeClientHolder {
 
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/JsonUtil.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/JsonUtil.java
index cd0eaa13..dc61446b 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/JsonUtil.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/JsonUtil.java
@@ -33,9 +33,9 @@ import com.baidu.hugegraph.loader.serializer.DeserializeException;
 import com.baidu.hugegraph.loader.serializer.InputProgressDeser;
 import com.baidu.hugegraph.loader.serializer.InputSourceDeser;
 import com.baidu.hugegraph.loader.source.InputSource;
-import com.baidu.hugegraph.rest.SerializeException;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.rest.SerializeException;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.JavaType;
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/LoadUtil.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/LoadUtil.java
index b173fb93..5c509fcb 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/LoadUtil.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/LoadUtil.java
@@ -24,7 +24,7 @@ import java.lang.reflect.UndeclaredThrowableException;
 
 import com.baidu.hugegraph.loader.constant.Constants;
 import com.baidu.hugegraph.loader.executor.LoadOptions;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.beust.jcommander.JCommander;
 
 public final class LoadUtil {
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/MappingUtil.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/MappingUtil.java
index f6c9fe52..b43d8b55 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/MappingUtil.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/MappingUtil.java
@@ -42,8 +42,8 @@ import com.baidu.hugegraph.loader.struct.EdgeStructV1;
 import com.baidu.hugegraph.loader.struct.ElementStructV1;
 import com.baidu.hugegraph.loader.struct.GraphStructV1;
 import com.baidu.hugegraph.loader.struct.VertexStructV1;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.InsertionOrderUtil;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.InsertionOrderUtil;;
 import com.google.common.collect.ImmutableSet;
 
 @SuppressWarnings("deprecation")
diff --git a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/Printer.java b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/Printer.java
index 3abbd154..ef0ac8cd 100644
--- a/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/Printer.java
+++ b/hugegraph-loader/src/main/java/com/baidu/hugegraph/loader/util/Printer.java
@@ -28,8 +28,8 @@ import com.baidu.hugegraph.loader.executor.LoadOptions;
 import com.baidu.hugegraph.loader.metrics.LoadReport;
 import com.baidu.hugegraph.loader.metrics.LoadSummary;
 import com.baidu.hugegraph.loader.progress.LoadProgress;
-import com.baidu.hugegraph.util.Log;
-import com.baidu.hugegraph.util.TimeUtil;
+import org.apache.hugegraph.util.Log;
+import org.apache.hugegraph.util.TimeUtil;
 
 public final class Printer {
 
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/FileLoadTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/FileLoadTest.java
index d36bac2d..ee446789 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/FileLoadTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/FileLoadTest.java
@@ -37,7 +37,6 @@ import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.baidu.hugegraph.driver.HugeClient;
@@ -59,14 +58,13 @@ import com.baidu.hugegraph.structure.constant.DataType;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Vertex;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
-import com.baidu.hugegraph.testutil.Assert;
-import com.baidu.hugegraph.testutil.Whitebox;
-import com.baidu.hugegraph.util.LongEncoding;
+import org.apache.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.LongEncoding;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 
-@Ignore
 public class FileLoadTest extends LoadTest {
 
     private static final Charset GBK = Charset.forName("GBK");
@@ -2066,6 +2064,7 @@ public class FileLoadTest extends LoadTest {
         File failureDataDir = FileUtils.getFile(structPath(
                 "incremental_mode_and_load_failure/struct/failure-data/"));
         File[] files = failureDataDir.listFiles();
+        assert files != null;
         Arrays.sort(files, Comparator.comparing(File::getName));
         Assert.assertNotNull(files);
         Assert.assertEquals(2, files.length);
@@ -2125,6 +2124,7 @@ public class FileLoadTest extends LoadTest {
 
         Thread.sleep(1000);
         files = failureDataDir.listFiles();
+        assert files != null;
         Arrays.sort(files, Comparator.comparing(File::getName));
         Assert.assertNotNull(files);
         Assert.assertEquals(4, files.length);
@@ -2268,6 +2268,7 @@ public class FileLoadTest extends LoadTest {
         File failureDir = FileUtils.getFile(structPath(
                           "reload_json_failure_files/struct/failure-data/"));
         File[] files = failureDir.listFiles();
+        assert files != null;
         Arrays.sort(files, Comparator.comparing(File::getName));
         Assert.assertNotNull(files);
         Assert.assertEquals(1, files.length);
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/HDFSLoadTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/HDFSLoadTest.java
index 939773ff..b9fcc267 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/HDFSLoadTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/HDFSLoadTest.java
@@ -24,15 +24,13 @@ import java.util.List;
 
 import org.apache.commons.lang3.StringUtils;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.baidu.hugegraph.loader.HugeGraphLoader;
 import com.baidu.hugegraph.loader.exception.LoadException;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
-@Ignore
 public class HDFSLoadTest extends FileLoadTest {
 
     @Override
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/HDFSUtil.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/HDFSUtil.java
index fd542f02..3959e50f 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/HDFSUtil.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/HDFSUtil.java
@@ -35,7 +35,7 @@ import org.slf4j.Logger;
 
 import com.baidu.hugegraph.loader.exception.LoadException;
 import com.baidu.hugegraph.loader.source.file.Compression;
-import com.baidu.hugegraph.util.Log;
+import org.apache.hugegraph.util.Log;
 
 public class HDFSUtil implements IOUtil {
 
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/IOUtil.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/IOUtil.java
index f618e4b9..2e540d9f 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/IOUtil.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/IOUtil.java
@@ -41,34 +41,34 @@ import com.baidu.hugegraph.loader.source.file.Compression;
 
 public interface IOUtil {
 
-    public Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
+    Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
 
-    public CompressorStreamFactory FACTORY = new CompressorStreamFactory();
+    CompressorStreamFactory FACTORY = new CompressorStreamFactory();
 
-    public String storePath();
+    String storePath();
 
-    public Configuration config();
+    Configuration config();
 
-    public void mkdirs(String path);
+    void mkdirs(String path);
 
-    public default void write(String fileName, String... lines) {
+    default void write(String fileName, String... lines) {
         this.write(fileName, DEFAULT_CHARSET, Compression.NONE, lines);
     }
 
-    public default void write(String fileName, Charset charset,
+    default void write(String fileName, Charset charset,
                               String... lines) {
         this.write(fileName, charset, Compression.NONE, lines);
     }
 
-    public default void write(String fileName, Compression compression,
+    default void write(String fileName, Compression compression,
                               String... lines) {
         this.write(fileName, DEFAULT_CHARSET, compression, lines);
     }
 
-    public void write(String fileName, Charset charset,
+    void write(String fileName, Charset charset,
                       Compression compression, String... lines);
 
-    public default void writeOrc(String fileName, TypeInfo typeInfo,
+    default void writeOrc(String fileName, TypeInfo typeInfo,
                                  Object... values) {
         Path path = new Path(this.storePath(), fileName);
         ObjectInspector inspector = TypeInfoUtils
@@ -87,13 +87,13 @@ public interface IOUtil {
         }
     }
 
-    public void copy(String srcPath, String destPath);
+    void copy(String srcPath, String destPath);
 
-    public void delete();
+    void delete();
 
-    public void close();
+    void close();
 
-    public static void compress(OutputStream stream, Charset charset,
+    static void compress(OutputStream stream, Charset charset,
                                 Compression compression, String... lines)
                                 throws IOException, CompressorException {
         BufferedOutputStream bos = new BufferedOutputStream(stream);
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/JDBCLoadTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/JDBCLoadTest.java
index 9f5c063e..be33ca8d 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/JDBCLoadTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/JDBCLoadTest.java
@@ -25,18 +25,17 @@ import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.baidu.hugegraph.loader.HugeGraphLoader;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+
+import org.apache.hugegraph.testutil.Assert;
 
 /**
  * TODO: add more test cases
  */
-@Ignore
 public class JDBCLoadTest extends LoadTest {
 
     // JDBC driver name and database URL
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/LoadTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/LoadTest.java
index 1b479c7a..340e3beb 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/LoadTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/functional/LoadTest.java
@@ -31,7 +31,8 @@ import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.structure.constant.T;
 import com.baidu.hugegraph.structure.graph.Edge;
 import com.baidu.hugegraph.structure.graph.Vertex;
-import com.baidu.hugegraph.testutil.Assert;
+
+import org.apache.hugegraph.testutil.Assert;
 
 public class LoadTest {
 
@@ -41,15 +42,11 @@ public class LoadTest {
     protected static final int PORT = 8080;
     protected static final int HTTPS_PORT = 8443;
     protected static final String CONFIRM_CLEAR = "I'm sure to delete all data";
-    protected static final String URL = String.format("http://%s:%s",
-                                                      SERVER, PORT);
-    protected static final String HTTPS_URL = String.format("https://%s:%s",
-                                                            SERVER, HTTPS_PORT);
+    protected static final String URL = String.format("http://%s:%s", SERVER, PORT);
+    protected static final String HTTPS_URL = String.format("https://%s:%s", SERVER, HTTPS_PORT);
     protected static final String HTTPS_PROTOCOL = "https";
-    protected static final String TRUST_STORE_FILE =
-                                  "assembly/travis/conf/hugegraph.truststore";
-    protected static final HugeClient CLIENT = HugeClient.builder(URL, GRAPH)
-                                                         .build();
+    protected static final String TRUST_STORE_FILE = "assembly/travis/conf/hugegraph.truststore";
+    protected static final HugeClient CLIENT = HugeClient.builder(URL, GRAPH).build();
 
     public static String configPath(String fileName) {
         return Paths.get(CONFIG_PATH_PREFIX, fileName).toString();
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/DateUtilTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/DateUtilTest.java
index cff14b2a..48026d21 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/DateUtilTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/DateUtilTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.loader.test.unit;
 import org.junit.Test;
 
 import com.baidu.hugegraph.loader.util.DateUtil;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class DateUtilTest {
 
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/LineTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/LineTest.java
index 32ea04b0..78b3e1b2 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/LineTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/LineTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.loader.test.unit;
 import org.junit.Test;
 
 import com.baidu.hugegraph.loader.reader.line.Line;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class LineTest {
 
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/LoadProgressTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/LoadProgressTest.java
index b9283fd3..1a0b98f9 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/LoadProgressTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/LoadProgressTest.java
@@ -19,18 +19,16 @@
 
 package com.baidu.hugegraph.loader.test.unit;
 
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.baidu.hugegraph.loader.progress.LoadProgress;
 import com.baidu.hugegraph.loader.test.functional.LoadTest;
 import com.baidu.hugegraph.loader.util.JsonUtil;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class LoadProgressTest extends LoadTest {
 
     @Test
-    @Ignore
     public void testTotalLoaded() {
         String json = "{" +
                 "\"vertex_propgress\": 16," +
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/MappingConverterTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/MappingConverterTest.java
index 25dfb7e7..c937daed 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/MappingConverterTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/MappingConverterTest.java
@@ -22,6 +22,7 @@ package com.baidu.hugegraph.loader.test.unit;
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 
 import org.apache.commons.io.FileUtils;
 import org.junit.Assert;
@@ -76,7 +77,7 @@ public class MappingConverterTest {
                 "}";
         String input = "struct.json";
         File inputFile = new File(input);
-        Charset charset = Charset.forName("UTF-8");
+        Charset charset = StandardCharsets.UTF_8;
         FileUtils.writeStringToFile(inputFile, v1Json, charset);
         MappingConverter.main(new String[]{input});
 
diff --git a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/RangesTimerTest.java b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/RangesTimerTest.java
index b263c0b9..f6943612 100644
--- a/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/RangesTimerTest.java
+++ b/hugegraph-loader/src/test/java/com/baidu/hugegraph/loader/test/unit/RangesTimerTest.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.loader.test.unit;
 import org.junit.Test;
 
 import com.baidu.hugegraph.loader.metrics.RangesTimer;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class RangesTimerTest {
 
diff --git a/hugegraph-tools/pom.xml b/hugegraph-tools/pom.xml
index 0d352c4a..7c4cb94e 100644
--- a/hugegraph-tools/pom.xml
+++ b/hugegraph-tools/pom.xml
@@ -38,7 +38,7 @@
         <shell-executable>bash</shell-executable>
         <junit.version>4.12</junit.version>
         <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ssZ</maven.build.timestamp.format>
-        <hugegraph-client-version>2.0.1</hugegraph-client-version>
+        <hugegraph-client-version>1.0.0</hugegraph-client-version>
         <jcommand-version>1.72</jcommand-version>
         <hadoop-version>3.1.1</hadoop-version>
         <guava.version>25.1-jre</guava.version>
@@ -62,9 +62,31 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.baidu.hugegraph</groupId>
+            <groupId>org.apache.hugegraph</groupId>
             <artifactId>hugegraph-client</artifactId>
             <version>${hugegraph-client-version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-annotations</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.module</groupId>
+                    <artifactId>jackson-module-jaxb-annotations</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.jaxrs</groupId>
+                    <artifactId>jackson-jaxrs-json-provider</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.beust</groupId>
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/Directory.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/Directory.java
index 2ff90763..947ad4ff 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/Directory.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/Directory.java
@@ -24,7 +24,7 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.List;
 
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public abstract class Directory {
 
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/HdfsDirectory.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/HdfsDirectory.java
index 0c425b5f..758b4b42 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/HdfsDirectory.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/HdfsDirectory.java
@@ -37,8 +37,8 @@ import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 
 import com.baidu.hugegraph.exception.ToolsException;
-import com.baidu.hugegraph.rest.ClientException;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.rest.ClientException;
+import org.apache.hugegraph.util.E;
 
 public class HdfsDirectory extends Directory {
 
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/LocalDirectory.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/LocalDirectory.java
index 6a10d9f9..0e11f458 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/LocalDirectory.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/LocalDirectory.java
@@ -35,8 +35,8 @@ import java.util.zip.ZipOutputStream;
 import org.apache.commons.io.FileUtils;
 
 import com.baidu.hugegraph.exception.ToolsException;
-import com.baidu.hugegraph.rest.ClientException;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.rest.ClientException;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableList;
 
 public class LocalDirectory extends Directory {
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/ToolClient.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/ToolClient.java
index 8516958b..6807d935 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/ToolClient.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/ToolClient.java
@@ -30,7 +30,7 @@ import com.baidu.hugegraph.driver.HugeClient;
 import com.baidu.hugegraph.driver.SchemaManager;
 import com.baidu.hugegraph.driver.TaskManager;
 import com.baidu.hugegraph.driver.TraverserManager;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 public class ToolClient {
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/ToolManager.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/ToolManager.java
index 5ac3211c..14dab84a 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/ToolManager.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/base/ToolManager.java
@@ -22,7 +22,7 @@ package com.baidu.hugegraph.base;
 import java.io.IOException;
 import java.util.List;
 
-import com.baidu.hugegraph.rest.SerializeException;
+import org.apache.hugegraph.rest.SerializeException;
 import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/cmd/HugeGraphCommand.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/cmd/HugeGraphCommand.java
index d622cba5..31e2ed82 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/cmd/HugeGraphCommand.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/cmd/HugeGraphCommand.java
@@ -46,7 +46,7 @@ import com.baidu.hugegraph.structure.Task;
 import com.baidu.hugegraph.structure.constant.GraphMode;
 import com.baidu.hugegraph.structure.gremlin.Result;
 import com.baidu.hugegraph.structure.gremlin.ResultSet;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.baidu.hugegraph.util.ToolUtil;
 import com.beust.jcommander.JCommander;
 import com.beust.jcommander.ParameterException;
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/cmd/SubCommands.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/cmd/SubCommands.java
index 5af5a135..099b36b9 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/cmd/SubCommands.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/cmd/SubCommands.java
@@ -36,8 +36,8 @@ import com.baidu.hugegraph.constant.AuthRestoreConflictStrategy;
 import com.baidu.hugegraph.manager.TasksManager;
 import com.baidu.hugegraph.structure.constant.GraphMode;
 import com.baidu.hugegraph.structure.constant.HugeType;
-import com.baidu.hugegraph.util.E;
-import com.baidu.hugegraph.util.InsertionOrderUtil;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.InsertionOrderUtil;
 import com.beust.jcommander.DynamicParameter;
 import com.beust.jcommander.IParameterValidator;
 import com.beust.jcommander.IStringConverter;
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/AuthBackupRestoreManager.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/AuthBackupRestoreManager.java
index a1a49f2a..cc173d9c 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/AuthBackupRestoreManager.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/AuthBackupRestoreManager.java
@@ -48,7 +48,7 @@ import com.baidu.hugegraph.structure.auth.Group;
 import com.baidu.hugegraph.structure.auth.Target;
 import com.baidu.hugegraph.structure.auth.User;
 import com.baidu.hugegraph.structure.constant.HugeType;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.baidu.hugegraph.util.JsonUtil;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/BackupManager.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/BackupManager.java
index e1cf6fdb..9999d7aa 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/BackupManager.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/BackupManager.java
@@ -54,7 +54,7 @@ import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/BackupRestoreBaseManager.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/BackupRestoreBaseManager.java
index 8fa2e26e..28bfe603 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/BackupRestoreBaseManager.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/BackupRestoreBaseManager.java
@@ -40,12 +40,12 @@ import com.baidu.hugegraph.base.Printer;
 import com.baidu.hugegraph.base.RetryManager;
 import com.baidu.hugegraph.base.ToolClient;
 import com.baidu.hugegraph.cmd.SubCommands;
-import com.baidu.hugegraph.concurrent.KeyLock;
+import org.apache.hugegraph.concurrent.KeyLock;
 import com.baidu.hugegraph.exception.ToolsException;
 import com.baidu.hugegraph.structure.GraphElement;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.structure.graph.Edge;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 import com.google.common.collect.ImmutableMap;
 
 public class BackupRestoreBaseManager extends RetryManager {
diff --git a/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/RestoreManager.java b/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/RestoreManager.java
index 91ac8111..d4840248 100644
--- a/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/RestoreManager.java
+++ b/hugegraph-tools/src/main/java/com/baidu/hugegraph/manager/RestoreManager.java
@@ -36,7 +36,7 @@ import com.baidu.hugegraph.structure.schema.EdgeLabel;
 import com.baidu.hugegraph.structure.schema.IndexLabel;
 import com.baidu.hugegraph.structure.schema.PropertyKey;
 import com.baidu.hugegraph.structure.schema.VertexLabel;
-import com.baidu.hugegraph.util.E;
+import org.apache.hugegraph.util.E;
 
 public class RestoreManager extends BackupRestoreBaseManager {
 
diff --git a/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/AuthBackupTest.java b/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/AuthBackupTest.java
index 5db36222..35450d16 100644
--- a/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/AuthBackupTest.java
+++ b/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/AuthBackupTest.java
@@ -22,14 +22,12 @@ package com.baidu.hugegraph.test.functional;
 import java.util.List;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.baidu.hugegraph.cmd.HugeGraphCommand;
 import com.baidu.hugegraph.test.util.FileUtil;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
-@Ignore
 public class AuthBackupTest extends AuthTest {
 
     @Before
diff --git a/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/AuthRestoreTest.java b/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/AuthRestoreTest.java
index 90442319..f9e6b33c 100644
--- a/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/AuthRestoreTest.java
+++ b/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/AuthRestoreTest.java
@@ -24,7 +24,6 @@ import java.util.Map;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.baidu.hugegraph.cmd.HugeGraphCommand;
@@ -36,12 +35,11 @@ import com.baidu.hugegraph.structure.auth.Target;
 import com.baidu.hugegraph.structure.auth.User;
 import com.baidu.hugegraph.structure.constant.HugeType;
 import com.baidu.hugegraph.test.util.FileUtil;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 import com.beust.jcommander.ParameterException;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
-@Ignore
 public class AuthRestoreTest extends AuthTest {
 
     private HugeClient client;
diff --git a/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/CommandTest.java b/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/CommandTest.java
index 5676d161..84a3d9c4 100644
--- a/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/CommandTest.java
+++ b/hugegraph-tools/src/test/java/com/baidu/hugegraph/test/functional/CommandTest.java
@@ -23,7 +23,7 @@ import org.junit.Test;
 
 import com.baidu.hugegraph.cmd.HugeGraphCommand;
 import com.baidu.hugegraph.exception.ExitException;
-import com.baidu.hugegraph.testutil.Assert;
+import org.apache.hugegraph.testutil.Assert;
 
 public class CommandTest extends AuthTest {
 
diff --git a/pom.xml b/pom.xml
index e1f2eebe..d8181f90 100644
--- a/pom.xml
+++ b/pom.xml
@@ -396,6 +396,7 @@
                         <exclude>scripts/dev/reviewers</exclude>
                         <exclude>**/*.md</exclude>
                         <exclude>**/dependency-reduced-pom.xml</exclude>
+                        <exclude>**/.flattened-pom.xml</exclude>
                         <exclude>**/logs/*.log</exclude>
                         <exclude>**/target/*</exclude>
                         <exclude>style/*</exclude>
@@ -416,6 +417,32 @@
                     <consoleOutput>true</consoleOutput>
                 </configuration>
             </plugin>
+
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>flatten-maven-plugin</artifactId>
+                <version>1.2.7</version>
+                <configuration>
+                    <updatePomFile>true</updatePomFile>
+                    <flattenMode>resolveCiFriendliesOnly</flattenMode>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>flatten</id>
+                        <phase>process-resources</phase>
+                        <goals>
+                            <goal>flatten</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>flatten.clean</id>
+                        <phase>clean</phase>
+                        <goals>
+                            <goal>clean</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
 
 <!--        <testResources>-->
@@ -425,4 +452,19 @@
 <!--            </testResource>-->
 <!--        </testResources>-->
     </build>
+
+    <repositories>
+        <repository>
+            <id>staged-releases</id>
+            <name>staged-releases</name>
+            <url>https://repository.apache.org/content/groups/staging/</url>
+            <layout>default</layout>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
 </project>