前言

因为平时的开发工具是使用IntelliJ IDEA,所以热部署项目代码的时候,使用的Jrebel。因为Jrebel是收费的,所以以前用的时候都是在网上找破解方法(国人通用做法),在网上找到的办法是输入一个在线激活服务,来进行激活。由于简单方便就一直这样用的,今天早上打开IDEA后发现,Jrebel激活失效了。后来才发现原来之前的在网上找的在线激活服务挂了,ping都ping不通。后来就又在网上各种找办法,虽然说又找到了一个可用的在线激活服务。但是通过这次出现的这个问题。自己也觉得总是依赖别人的服务,毕竟不是办法,所以就想着自己的研究一下,然后做个自己的激活服务。

Jrebel很好用,也是离不开大家的支持,所以如果条件允许的话,还是建议大家购买正版的lisence。

服务地址

http://140.143.12.222:8081/

在此地址的后面拼接上一个GUID即可。GUID在线生成网址:Create GUIDS online

例如:http://140.143.12.222:8081/c2f11295-52bf-4c7d-b24d-7fcf3fe88a12

(如果激活失败了,可以换一个GUID进行重试)

使用方式

首先需要在IDEA中安装Jrebel中,安装步骤(Windows):File->Settings->Plugins,然后在线安装插件处搜索Jrebel,然后进行安装,重启IDEA后生效。在安装完Jrebel后,进行激活,Help->Jrebel->Activation。

激活步骤

然后选择第一个选项,Connect to online licensing service,在第一个输入框中输入拼接好的在线激活服务,

例如:http://140.143.12.222:8081/ea1d67dc-bb7a-4db0-9ed4-1b6742b0f38b

然后在第二个输入框中随便输入一个邮箱地址(符合格式的邮箱都可以)。

然后点击Change license按钮即可激活。

如果激活不成功,可以用上面说的那个在线生成GUID的网站再生成一个新的GUID再试一次。

授人以鱼不如授人以渔

搭建激活服务,前提是要有一个联网的服务器。然后去码云上下载这个开源的程序代码:https://gitee.com/gsls200808/JrebelLicenseServerforJava

下载到代码后,可以在本地运行一下。

运行MainServer这个类中的main方法。会看到如下日志后,就说明启动成功了。这样可以直接使用本地的这个服务激活Jrebel了。

License Server started at http://localhost:8081
JetBrains Activation address was: http://localhost:8081/
JRebel 7.1 and earlier version Activation address was: http://localhost:8081/{tokenname}, with any email.
JRebel 2018.1 and later version Activation address was: http://localhost:8081/{guid}(eg:http://localhost:8081/779a56c2-4163-430e-9492-087bbb568a30), with any email.

我们要做的目的是要部署到Linux服务器上,成为一个长期有效的服务,而不是一个本地服务。

用maven对项目进行打包,命令:

mvn clean
mvn clean package

然后在target目录下找到打好的jar包,上传到服务器。

在上传目录下执行如下命令,运行jar包。前提是当前服务器已经安装了JDK(版本大于1.6)。

nohup java -jar JrebelBrainsLicenseServerforJava-1.0-SNAPSHOT-jar-with-dependencies.jar  >/dev/null 2>&1

通过命令查看服务是否运行成功:ps -ef | grep java

这样我们的Jrebel激活服务就搭建成功了。

文章会同步到我的公众号上面,欢迎关注。

Jrebel激活服务搭建的更多相关文章

  1. Jrebel激活方法(转)

    本次服务长期稳定提供给各位同学使用哦!服务器地址:https://jrebel.qekang.com/{GUID}在线GUID地址:在线生成GUID如果失效刷新GUID替换就可以!打开jrebel 激 ...

  2. WCF 无法激活服务,因为它不支持 ASP.NET 兼容性。已为此应用程序启用了 ASP.NET 兼容性

    无法激活服务,因为它不支持 ASP.NET 兼容性.已为此应用程序启用了 ASP.NET 兼容性.请在 web.config 中关闭 ASP.NET 兼容性模式,或将 AspNetCompatibil ...

  3. ServiceStack.Hello——跨平台.net REST api服务搭建

    ServiceStack.Hello--跨平台.net REST api服务搭建 自己创建: https://github.com/ServiceStack/ServiceStack/wiki/Cre ...

  4. WCFRESTFul服务搭建及实现增删改查

    WCFRESTFul服务搭建及实现增删改查 RESTful Wcf是一种基于Http协议的服务架构风格,  RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力 ...

  5. 微信小程序语音识别服务搭建全过程解析(项目开源在github)

    silk v3录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) ## 重要的写在前面 重要事项一: 目前本文中提到的API已支持微信小程序录音文件格式:silk v ...

  6. 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)

    silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方 ...

  7. Git服务搭建及github使用教程

    .pos { position: fixed; top: 35%; left: 90% } .pos a { border: 2px solid white; background: #99CCFF; ...

  8. eureka服务搭建

    Server端 引入eureka server的maven依赖 引入依赖时无需给定eureka的版本号,maven会根据当前使用的SpringCloud版本来判断应该引入哪个版本的euraka ser ...

  9. NodeJs之服务搭建与数据库连接

    NodeJs之服务搭建与数据库连接 一,介绍与需求分析 1.1,介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻 ...

随机推荐

  1. 关于 Swift 中的 Array.contains 方法

    Swift 2.0 中对语言进行了又一次的改进,这次将整个语言变得更加面向对象化,比如在 Swift 1.x 中如果要判断某个元素是否在数组中,就需要用到 contains 函数: if contai ...

  2. AR研究-Demo集

    原文:AR研究-Demo集        之前研究了图像处理.图像识别及AR 等相关技术,下载了很多开源源码进行学习和尝试引用,包括c++.c#.Opengl.Emgu. Aforge.OpenCV. ...

  3. 数据在数组中存储的顺序:小端 OR 大端模式 详解

    大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放: 小端模式,是指数据的高 ...

  4. 【C#】list 去重

    原文:[C#]list 去重 Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定 ...

  5. ubuntu Linux 操作系统安装与配置

    Ubuntu是一个以桌面应用为主的Linux操作系统.Ubuntu每六个月发布一个新版本(一般是4和10月份,命名为YY.MM),每一个普通版本都将被支持 18个月,长期支持版(Long Term S ...

  6. Winform 点击TreeView控件节点的CheckBox不触发NodeMouseClick事件的做法

    private void Tv_areainfo_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (!e.Node. ...

  7. .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现

    原文:.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是 ...

  8. 浅析在QtWidget中自定义Model(beginInsertRows()和endInsertRows()是空架子,类似于一种信号,用来通知底层)

    Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接 ...

  9. SendMessage发送自定义消息及消息响应(VC版)

    控件向父窗体发送自定义消息,父窗体定义处理此消息的函数  程序源代码(整个工程)下载:http://download.csdn.net/detail/qq2399431200/6274793 效果描述 ...

  10. CTO的职责,以及Goolge内部流程

    我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding. 在 Google 我参与了两个 Project ...