github下载cloudbeaver的源码
https://github.com/dbeaver/cloudbeaver.git
执行cloudbeaver\deploy\build.bat
该脚本中会同时下载dbeaver等项目的源码
以创建impala数据库连接为例:
-
创建目录:cloudbeaver\server\drivers\impala
-
目录下创建pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>drivers.impala</artifactId>
<version>1.0.0</version>
<parent>
<groupId>io.cloudbeaver</groupId>
<artifactId>drivers</artifactId>
<version>1.0.0</version>
<relativePath>../</relativePath>
</parent></project><properties> <deps.output.dir>impala</deps.output.dir> </properties> <dependencies> <dependency> <groupId>com.xxx</groupId> <artifactId>impalaJDBC42</artifactId> <version>1.0</version> </dependency> </dependencies> -
修改文件:cloudbeaver\server\bundles\io.cloudbeaver.resources.drivers.base\plugin.xml
<?xml version="1.0" encoding="UTF-8"?> <plugin> <extension point="org.jkiss.dbeaver.resources"> <resource name="drivers/db2"/> <resource name="drivers/db2-jt400"/> <resource name="drivers/duckdb"/> <resource name="drivers/mysql/mysql8"/> <resource name="drivers/mariadb"/> <resource name="drivers/oracle"/> <resource name="drivers/postgresql"/> <resource name="drivers/clickhouse"/> <resource name="drivers/clickhouse_com"/> <resource name="drivers/jaybird"/> <resource name="drivers/h2"/> <resource name="drivers/h2_v2"/> <resource name="drivers/sqlite/xerial"/> <resource name="drivers/mssql/new"/> <resource name="drivers/trino"/> <resource name="drivers/kyuubi"/> <resource name="drivers/databend"/> <resource name="drivers/impala"/> </extension></plugin><!-- Bundles --> <extension point="org.jkiss.dbeaver.product.bundles"> <bundle id="drivers.db2" label="DB2 drivers"/> <bundle id="drivers.duckdb" label="DuckDB drivers"/> <bundle id="drivers.jt400" label="DB2 iSeries drivers"/> <bundle id="drivers.mysql" label="MySQL drivers"/> <bundle id="drivers.mariadb" label="MariaDB drivers"/> <bundle id="drivers.oracle" label="Oracle drivers"/> <bundle id="drivers.postgresql" label="PostgreSQL drivers"/> <bundle id="drivers.clickhouse" label="Clickhouse (legacy) drivers"/> <bundle id="drivers.clickhouse_com" label="Clickhouse drivers"/> <bundle id="drivers.firebird" label="Firebird drivers"/> <bundle id="drivers.h2" label="H2 drivers"/> <bundle id="drivers.h2_v2" label="H2 v2 drivers"/> <bundle id="drivers.sqlite.xerial" label="SQLite drivers"/> <bundle id="drivers.mssql.new" label="SQL Server drivers"/> <bundle id="drivers.trino" label="Trino drivers"/> <bundle id="drivers.kyuubi" label="Apache Kyuubi drivers"/> <bundle id="drivers.databend" label="Databend drivers"/> <bundle id="drivers.impala" label="impala"/> </extension> <!-- Enabled drivers --> <extension point="io.cloudbeaver.driver"> <driver id="db2:db2"/> <driver id="db2_i:db2_iseries"/> <driver id="mysql:mysql8"/> <driver id="mysql:mariaDB"/> <driver id="oracle:oracle_thin"/> <driver id="postgresql:postgres-jdbc"/> <driver id="jaybird:jaybird"/> <driver id="clickhouse:yandex_clickhouse"/> <driver id="clickhouse:com_clickhouse"/> <driver id="h2:h2_embedded"/> <driver id="h2:h2_embedded_v2"/> <driver id="sqlite:sqlite_jdbc"/> <driver id="sqlite:libsql_jdbc"/> <driver id="sqlserver:microsoft"/> <driver id="generic:trino_jdbc"/> <driver id="generic:duckdb_jdbc"/> <driver id="generic:kyuubi_hive"/> <driver id="databend:databend"/> <driver id="generic:impala"/> </extension> -
修改dbeaver项目中的文件:
dbeaver\plugins\org.jkiss.dbeaver.ext.generic\plugin.xml<driver id="impala" label="impala" icon="icons/impala_icon.png" iconBig="icons/impala_icon_big.png" description="Cloudera Impala. You can download JDBC driver files from https://www.cloudera.com/" class="com.cloudera.impala.jdbc.Driver" sampleURL="jdbc:impala://{host}:{port}/{database}" defaultPort="21050" supportedConfigurationTypes="MANUAL,URL" categories="hadoop" custom="true"> <file type="jar" path="drivers/impala" bundle="drivers.impala"/> <parameter name="read-only-data" value="false"/> <parameter name="supports-indexes" value="true"/> <parameter name="all-objects-pattern" value="%"/> <parameter name="quote-reserved-words" value="true"/> <parameter name="omit-schema" value="false"/> <parameter name="supports-table-constraints" value="true"/> <parameter name="schema-filters-enabled" value="false"/> <parameter name="supports-delimiter-in-views" value="true"/> <parameter name="supports-embedded-database-creation" value="true"/> <parameter name="supports-struct-cache" value="true"/> <parameter name="supports-truncate" value="true"/> <parameter name="read-only-meta-data" value="false"/> <parameter name="omit-type-cache" value="false"/> <parameter name="split-procedures-and-functions" value="false"/> <parameter name="supports-stored-code" value="true"/> <parameter name="supports-references" value="true"/> <parameter name="supports-multi-insert" value="false"/> <parameter name="omit-catalog-name" value="false"/> <parameter name="supports-catalog-selection" value="true"/> <parameter name="omit-single-catalog" value="false"/> <parameter name="ddl-drop-column-brackets" value="false"/> <parameter name="omit-single-schema" value="false"/> <parameter name="supports-scroll" value="false"/> <parameter name="omit-catalog" value="false"/> <parameter name="supports-views" value="true"/> <parameter name="script-delimiter" value=";"/> <parameter name="legacy-sql-dialect" value="false"/> <parameter name="script-delimiter-after-query" value="false"/> <parameter name="use-search-string-escape" value="false"/> <parameter name="supports-multiple-results" value="false"/> <parameter name="script-delimiter-after-block" value="false"/> <parameter name="supports-schema-selection" value="true"/> <parameter name="alter-table-add-column" value="false"/> <parameter name="ddl-drop-column-short" value="false"/> <parameter name="supports-limits" value="true"/> <parameter name="supports-select-count" value="true"/> <parameter icon="platform:/plugin/org.jkiss.dbeaver.model/icons/connection/database_icon.png"/> </driver> -
再次执行打包脚本:cloudbeaver\deploy\build.bat