首页 > 解决方案 > 获取 Sql Developer 的版本,如果是该版本的第一次在该机器上执行

问题描述

我想知道是否有办法获取已安装的 sql developer 的版本,以及该版本是否是第一次在 pc 上运行。我想做的是这样的

Version = [installedVersion]
isTheFirstTime = [true, or false]
if(Version == xx and isTheFirstTime)
{
TODO
}

我知道这个问题有点含糊,但我需要 :D 哦,我也需要 oracle 客户端版本。这里的问题是不知道从哪里获得这种数据。

谢谢

标签: c#c#-4.0oracle-sqldeveloper

解决方案


了解是否从未运行过 sqldev 版本 xyz 的最简单方法是根据解压缩的版本检查设置。

sqldev 的版本在../bin 目录下一个名为version.properties 的文件中。

:~ klrice$ cd sqldeveloper/bin
kriss-MacBook-Pro:bin klrice$ ls
..
version.properties <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< THE FILE
..

kriss-MacBook-Pro:bin klrice$ more version.properties 

COMPANY=Oracle
PRODUCT=SQL Developer
VERSION=18.03001761612f 
VER=18.3.0                 <<<<<<<<<<<<<<<<<<<<<<<<<< VERSION
VER_FULL=18.3.0.176.1612   <<<<<<<<<<<<<<<<<<<<<<<<<< VERSION
BUILD_LABEL=176.1612
BUILD_NUM=176.1612
EDITION=

一旦知道该版本,就可以根据设置检查每个已运行的 sqldev 版本都有一个目录。这些设置使用版本号作为目录名称。

在 windows 上它AppData\Roaming\SQL Developer 在 linux/osx 上它在~/.sqldeveloper

kriss-MacBook-Pro:bin klrice$ ls ~/.sqldeveloper/
17.0.0/                  
4.2.0/
17.3.0/
17.3.1/ 
17.4.0/ 
18.1.0/ 
18.3.0/ 
4.1.5/  
...

现在的诀窍是在启动 sqldeveloper.exe(.sh) 周围有一个包装器/批处理/shell 脚本,以便在测试开始之前捕获测试的情况并制作这些设置目录。

现在,如果您准备为 sqldev 编写 Java 扩展,还有更多选择,例如拥有一个专用的首选项来跟踪您的代码片段是否已运行。


推荐阅读