c# - 获取 Sql Developer 的版本,如果是该版本的第一次在该机器上执行
问题描述
我想知道是否有办法获取已安装的 sql developer 的版本,以及该版本是否是第一次在 pc 上运行。我想做的是这样的
Version = [installedVersion]
isTheFirstTime = [true, or false]
if(Version == xx and isTheFirstTime)
{
TODO
}
我知道这个问题有点含糊,但我需要 :D 哦,我也需要 oracle 客户端版本。这里的问题是不知道从哪里获得这种数据。
谢谢
解决方案
了解是否从未运行过 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 扩展,还有更多选择,例如拥有一个专用的首选项来跟踪您的代码片段是否已运行。
推荐阅读
- visual-studio-code - 是否可以将 vscode 终端模拟器的工作目录与编辑器的工作目录同步?
- javascript - Jquery用换行符填充文本区域,如果没有数据则什么都没有
- c# - 带有复选框的 Wpf TreeView
- java - Android扩展按钮检测onClick
- ef-fluent-api - 一周想要efcore sql语法,流利的api方法的例子
- c++ - C++线程函数通过引用传递
- python - Python,Selenium 如何忽略 shader_cache 错误?
- node.js - 在nodejs中获取子文档时不支持的投影选项
- python - 从存储在文件中的列表格式的字符串创建 Python 中的数字列表
- reactjs - 反应让 onClick 在组件上只工作一次