简介

DBeaver共有Community、Lite、Enterprise、Ultimate四个版本。

Community即开源免费版本,可以随意下载安装,但是,连接数据库需要手动提供驱动jar包,使用比较繁琐,本文以安装DBeaver企业版为主。如下图是各个版本的比较:

在这里插入图片描述

Enterprise和Ultimate版本功能基本一致,因此本文使用Enterprise版本,使用Ultimate版本应该也可以完成后续操作。

下载

注意,https://dbeaver.io/网站仅能下载社区版本,其他收费版本需要从https://dbeaver.com/下载。

企业版本下载地址: https://dbeaver.com/download/enterprise/

该网页根据版本下载,本文使用windows,使用ZIP包,不建议使用exe包,ZIP包是绿色版本,可以放到电脑任意位置直接使用。

下载地址: https://dbeaver.com/files/dbeaver-ee-latest-win32.win32.x86_64.zip

安装

zip包解压后即可直接使用,但是企业版需要进行破解,网上也有很多方案:

参考方案1: https://blog.csdn.net/qq_41070393/article/details/116014329
参考方案2:https://zhile.io/2019/05/08/dbeaver-license-crack.html

按照网上的方案,将下载的jar包放在安装目录的新建文件夹dbeaver-agent下,路径为dbeaver-agent/dbeaver-agent.jar

然后修改dbeaver.ini文件,在最后新建一行,添加-javaagent:dbeaver-agent/dbeaver-agent.jar即可。

但是此时已然无法打开,双击dbeaver.exe无任何反应。根据网上的说法,dbeaver自带的jre为阉割版,无法使用。

dbeaver从21版本开始需要使用jdk11,本文使用的jdk11位微软编译版本openjdk11,下载地址:
https://docs.microsoft.com/zh-cn/java/openjdk/download ,下载windows 64 为的zip包版本即可。

喜欢其他发行版本的自行下载即可,都一样的。

按照网上的方案,是需要删除jre目录,我们删除安装目录下的jre文件,然后安装openjdk版本并在dbeaver.ini文件中修改为jdk11的bin目录,修改后如下所示:

-startup
plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.100.v20210209-1541
-vm
C:\Program Files\Java\jdk11.0.12_7\bin
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Xms128m
-Xmx2048m
-javaagent:dbeaver-agent/dbeaver-agent.jar

此时可以完美运行并使用了。

制作绿色包

上面的方式配置的vm使用了绝对路径,这就导致该安装包拿到其他没有安装jdk11的电脑上,dbeaver就无法使用了,要解决这个问题也很简单,有两种方案:

  1. 将jdk目录拷贝到dbeaver目录中,重新打包,缺点就是包太大。
  2. 既然dbeaver自带的jre有问题,那我们可以自制符合需求的jre,这样应该能大幅缩小包大小。

先简单说一下为啥要自制jre,为什么不直接下载一个官方jre呢?因为从java9开始,因为新的java模块化设计,官方不再发布jre,而是仅发布jdk,我们可以自己根据需要自制jre。

根据网上的一些文档,进行了尝试,发现并没用,参考文章:

  1. https://blog.csdn.net/simplyou/article/details/115906872
  2. https://blog.csdn.net/qq_41070393/article/details/116014329

他们的文章中使用创建命令为:

cd C:\Program Files\Java\jdk11.0.12_7
bin\jlink --module-path jmods --add-modules java.desktop --output jre

这种方式创建的jre,出现了最开始的问题,双击dbeaver.exe无任何反应。

个人开始怀疑,是不是他们打包jre时加入的模块有缺失呢,毕竟只加入了一个java.desktop

带着这个问题,就开始寻找dbeaver运行需要哪些java模块,但是个人不才,不知道去哪里找,有知道的朋友欢迎交流。

那就退一步呗,把所有模块都打包进去,如何查看所有的模块呢?我们查看jdk安装目录下的jmods目录,下面的每一个文件就是一个模块,一共72个:
在这里插入图片描述
那我们就全部打包进去试一下吧:

cd C:\Program Files\Java\jdk11.0.12_7
bin\jlink --module-path jmods --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.management.rmi,java.naming,java.net.http,java.prefs,java.rmi,java.scripting,java.se,java.security.jgss,java.security.sasl,java.smartcardio,java.sql,java.sql.rowset,java.transaction.xa,java.xml.crypto,java.xml,jdk.accessibility,jdk.aot,jdk.attach,jdk.charsets,jdk.compiler,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.crypto.mscapi,jdk.dynalink,jdk.editpad,jdk.hotspot.agent,jdk.httpserver,jdk.internal.ed,jdk.internal.jvmstat,jdk.internal.le,jdk.internal.opt,jdk.internal.vm.ci,jdk.internal.vm.compiler,jdk.internal.vm.compiler.management,jdk.jartool,jdk.javadoc,jdk.jcmd,jdk.jconsole,jdk.jdeps,jdk.jdi,jdk.jdwp.agent,jdk.jfr,jdk.jlink,jdk.jshell,jdk.jsobject,jdk.jstatd,jdk.localedata,jdk.management.agent,jdk.management.jfr,jdk.management,jdk.naming.dns,jdk.naming.ldap,jdk.naming.rmi,jdk.net,jdk.pack,jdk.rmic,jdk.scripting.nashorn,jdk.scripting.nashorn.shell,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported.desktop,jdk.unsupported,jdk.xml.dom,jdk.zipfs --output jre

此时,我们把打包好的jre目录拷贝至dbeaver安装目录下,拷贝后的目录结构如下:
在这里插入图片描述
上图中的,jre就是上面的命令生成后,从jdk目录中拷贝过来的了。

此时修改dbeaver.ini的配置,调整vm的值为相对路径,配置如下:

-startup
plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.100.v20210209-1541
-vm
jre\bin
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Xms128m
-Xmx2048m
-javaagent:dbeaver-agent/dbeaver-agent.jar

配置完毕运行dbeaver.exe,启动成功。确定是网上的一些伙伴的jre制作命令过于简单,丢失了模块。

其实,及时全部模块打包制作的jre,打包zip文件后也仅50M,相比170多M的jdk完全是可接受的。

至此一个绿色可移动到任意电脑运行的包就制作好了。

最后,重新打包后发现仅比官方原始下载包大了26M,完全能够接受,最后给大家一个打包好的成品下载地址:

链接:https://pan.baidu.com/s/1ZE9XR3IgpVEirX_q7mViSQ
提取码:zuve

<本文完>

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐