IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> IDE Eval Reset忘了重置进不去怎么办 -> 正文阅读

[Java知识库]IDE Eval Reset忘了重置进不去怎么办

问题

我相信很多白嫖怪都知道目前JB全家桶“极为先进”的使用方法——其实就是无限重置30天(IDE Eval Reset)。具体使用方法就不赘述了。

这里会出现一个问题,尤其是针对电脑上安装了多款JB家的IDE用户来说(比如我就是,IDEA、PyCharm和CLion都在使bai用piao),如果超过30天未打开其中某个IDE进行试用重置,那么你就会发现打不开了,要求你补充License,而且菜单栏也没有地方让你再去打开Eval Reset插件了。怎么办!?

或许你唯一能想到的办法就是完全卸载,清空一切相关配置文件和卸载残留,重新安装,重新试用。但是这样损失惨重啊,尤其是很多设置和项目又要重新导入。

解决

这个办法也是我偶然发现的,你在其他地方肯定搜不到。不过当你第一次遇到这个问题时,有个前提:需要至少有一款IDE是可以打开使用的,也就是刚刚使用过Eval Reset并且还在30天内的。

举例,比如我现在PyCharm打不开了,但是IDEA平时经常用到,所以能打开,接下来:

1、这里以macOS版本为例(其他系统也是类似的,就是路径不太一样,看后文),复制IDEA内部eval文件夹下面的key到PyCharm对应文件夹下面:

# xxx是你的用户名
cp /Users/xxx/Library/Application\ Support/JetBrains/IntelliJIdea2021.2/eval/idea212.evaluation.key /Users/xxx/Library/Application\ Support/JetBrains/PyCharm2021.2/eval/PyCharm212.evaluation.key

在这里插入图片描述

注意key文件是否存在,版本一定要对应当前安装的版本,比如我这里212就是2021.2版本。复制后注意改名,比如idea212前缀要记得改成PyCharm212,如上述命令一行搞定。

2、此时再重新打开PyCharm会发现奇迹般地复活了,重置时间也和IDEA的一模一样。

关于路径

这个插件是个开源项目,从其脚本文件源码可看到路径配置:

// Resetter.java
protected static File getEvalDir() {
    String configPath = PathManager.getConfigPath();
    return new File(configPath, "eval");
}

上面这个PathManager实际上是 com.intellij.openapi.application.PathManager ,我们直接去GitHub搜IDEA的开源代码即可:PathManager.java

所以Windows的路径一般是:C:\Users\xxx\AppData\Roaming\JetBrains\IntelliJIdea2021.2\eval ,Linux自行探索。

思考

从上述解决方法我们可以看出,无限重置时间之所以能生效,关键就在这些key文件。我大致了解了一下此插件源代码之后,可以得知key文件里面存储的信息:

// LicenseFileRecord.java
@Override
public void reset() throws Exception {
    if (!FileUtil.delete(file)) {
        throw new Exception("Remove " + type + " failed: " + file.getAbsolutePath());
    }
	// 此处写入了当前时间戳,貌似就是这么简单
    try (DataOutputStream dos = new DataOutputStream(new FileOutputStream(file))) {
        dos.writeLong(~System.currentTimeMillis());
    }
}

因此,如果我们的所有key文件都超过30天过期了,就可以copy一下插件的源代码,自己去运行这些逻辑手动写入信息或生成key文件,具体操作就不赘述了。

总之,此插件还是有它的局限性,大部分代码都是GUI相关的,如果作者可以搞一个可执行脚本就好了,这样可以在命令行中拯救那些过期后打不开的JB全家桶。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:22:51  更:2021-10-11 17:24:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:31:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码