JetBrains的产品我曾经用过很长一段时间,它们是resharper和dotcover。VS号称宇宙最强IDE,直到它遇到了resharper,我们才知道,原来vs可以更好。DotCover是一个计算代码覆盖率的工具,过去,我们为了应付QA的检查,与DotCover成了最好的朋友。

我有一段时间(其实也包括现在),特别的精分,白天Java,晚上C#,隔几天可能还要弄一下PHP,其中最痛苦的莫过于就是IDE的切换,常常对着VS敲着Eclipse的快捷键,心里骂着怎么智能感知还没出现。后来IntelliJ IDEA渐成主流,我发现很多快捷键在reshaper中和idea中是一致的,毕竟是一个爹嘛,心中对于idea的喜欢与日俱增。Idea就像梦中情人的形象,突然出现在你面前,虽然它其实是jetbrains的第一个产品。

用了IntelliJ IDEA的人,基本不想回到eclipse;

用了resharper的人,没人想要卸载这个插件,为了它宁可去多加一块内存;

作为Java的全栈程序员,不好意思不自称在linux下编码。作为全栈程序员,也不好意思只会用Eclipse,今天我们就开始迈出使用IntelliJ IDEA的第一步。

1.安装

来到官网,进入IntelliJ IDEA二级页面,选择linux下的ultimate下载。

下载完毕,如下

在上一篇中,我们安装JDK几乎全程用图形化界面,这很不linux,这次我们命令行操作。

切换到下载目录

解压到opt目录

关于opt目录约定俗成是做什么用的,我们在上一篇中已经说明过了):

sudo tar -zxvf ideaIU-2018.2.2cd.tar.gz -C /opt

切换到idea的bin目录

cd /opt /idea-IU-182.4129.33/bin

运行idea.sh

./idea.sh

./表示当前目录。 linux默认搜索目录中没有包含当前目录,所以我们要执行当前目录的命令,就要加上前缀./,当然用全路径代替也是可以的。Windows就没有这个毛病,但是Windows下有个工具叫做powershell,沿袭了这个毛病(传统)。

2.测试

运行完毕idea.sh,就会发现在左边的工具栏中增加了一个IntelliJ IDEA,这代表当前idea正在运行中

让我们create new project。这个时候出现的第二个界面,就会让我们选择jdk

我们去选择上一篇已经配置好的jdk的路径

下一步

可以选择默认创建HelloWorld,如下

也可以不选择,这里其实我们没有选择。如果不选择,那么进入到的界面,如下。这个界面大家很熟悉了,跟Eclipse也差不了多少。左边是project的结构,右边是主工作区间

接着,手动创建HelloWorld类,如下

敲入代码,右键run,底部就会出现console信息

一个简单的测试完成了:)。

3.BUT

但是,初恋情人般的存在虽然好,不给钱没人跟你谈恋爱。

被你嫌弃的Eclipse,你用了它十来年。现在的你不喜欢了,当年的你,第一次见到它的时候,还不是照样心动,还不是照样觉得它才是你这辈子的真爱。最主要的,它还不花你一分钱。这么多年来,它陪你娶妻生子,让你撸码买房买车,你就这么说抛弃就抛弃了?

没错~~

回到idea,它要你的钱,要的还很不便宜。但是它爱你的钱的同时,它也爱你的年轻。如果你是一个学生,你可以凭借学生证明免费使用ultimate版本。如果你既不年轻,也没钱,那就只有crack一条路了。

http://idea.lanyus.com/,就是这么一个供你crack的站点。以下我只是听说,从来没有试过。

首先,下载JetbrainsCrack-3.1-release-enc.jar,

其次,编辑bin目录下的idea64.vmoptions和idea.vmoptions文件。在最后一行插入:

-javaagent:/opt/idea-IU-182.4129./bin/JetbrainsCrack-3.1-release-enc.jar

然后,重启idea。进入help的reigster,在下面的窗口

输入:

ThisCrackLicenseId-{
"licenseId":"ThisCrackLicenseId",
"licenseeName":"idea",
"assigneeName":"",
"assigneeEmail":"idea@163.com",
"licenseRestriction":"For This Crack, Only Test! Please support genuine!!!",
"checkConcurrentUse":false,
"products":[
{"code":"II","paidUpTo":"2099-12-31"},
{"code":"DM","paidUpTo":"2099-12-31"},
{"code":"AC","paidUpTo":"2099-12-31"},
{"code":"RS0","paidUpTo":"2099-12-31"},
{"code":"WS","paidUpTo":"2099-12-31"},
{"code":"DPN","paidUpTo":"2099-12-31"},
{"code":"RC","paidUpTo":"2099-12-31"},
{"code":"PS","paidUpTo":"2099-12-31"},
{"code":"DC","paidUpTo":"2099-12-31"},
{"code":"RM","paidUpTo":"2099-12-31"},
{"code":"CL","paidUpTo":"2099-12-31"},
{"code":"PC","paidUpTo":"2099-12-31"}
],
"hash":"2911276/0",
"gracePeriodDays":,
"autoProlongated":false}

确定后发现,今后90年,idea都是你的了。

大家愉快撸码吧。

Java全栈程序员之03:Ubuntu下安装idea的更多相关文章

  1. Java全栈程序员之04:Ubuntu下安装MySQL、注册服务及Navcat

    在安装MySQL之前,我们先来介绍一下Ubuntu下软件的安装方式.首先回顾下,我们安装JDK,使用的是后缀名为tar.gz的安装包.安装idea,使用的是tar.gz:那有没有别的安装方式呢? 1. ...

  2. Java全栈程序员之02:Ubuntu下Java环境安装、配置、测试

    在上文讲完之后,我们手里的ubuntu只能算是一个上网机,什么也干不了,本篇我们将折腾它为开发机. 这里,我们这里假定你对linux体系是初级选手,所以本篇会讲的啰嗦一点,高手就出门左转吧. 1.安装 ...

  3. Java全栈程序员之01:做个Linux下的程序猿

    Windows10正在成为史上口碑最差的Windows系统 (图侵删) 我曾经花了数次1小时去寻找解决方案去关闭自动更新,包括停掉服务.修改注册表等等.但是都没有成功. 微软自身是知道这个问题的,但就 ...

  4. Java全栈程序员之08:MAVEN+JAVA配置

    从Spring3.0开始,Spring支持以Java配置的方式来代替XML配置.这一点说起来其实有点可笑,XML配置的方式最初被创建出来就是为了让配置与程序员无关.可是最终我们发现,绝大多数的那些配置 ...

  5. Java全栈程序员之05:Ubuntu下安装TOMCAT、集成到IDEA

    使用idea绝不是开发一个Hello World这么简单,现在我们要使用idea进行企业级开发(也就是JavaEE)的准备了,那么首先,我们就得有一个web应用服务器.选什么呢?当然首选是大名鼎鼎的T ...

  6. Java全栈程序员之09:IDEA+GitHub

    GitHub是源码托管站点,其依赖于Git这个源码管理工具来进行代码的托管.所以将我们的代码托管到GitHub之前,我们需要安装Git. 1.Git安装 可以通过输入git命令来确定是否在本机已经安装 ...

  7. Java全栈程序员之07:IDEA中使用MAVEN构架生产级的Web项目

    在上一篇我们介绍了如何在IDEA中使用MAVEN,以及如何创建依赖等.那么在这一篇中,我们就试图搭建一个生产级的解决方案,大家可以使用这个解决方案作为骨架代码来搭建自己的开发环境. 在这里,我们要完成 ...

  8. Java全栈程序员之06:IDEA中MAVEN项目依赖及运行

    MAVEN已经成为事实上的企业项目开发中的项目类型.无论是IDEA还是Eclipse,都已经默认支持创建MAVEN项目.严格意义上来说,MAVEN不是一种新的JavaEE项目类型.它凌驾于所以的项目类 ...

  9. [转]乐死我了,怎么样成为一个全栈程序员(Full Stack Developer),附我想专注的语言

    受苏格拉底大神的启迪,我也来谈谈全栈.禅师:成为全栈工程师,这个问题等于如何成为全才,有可能吗码农:有可能,不过可能性比较低,因为达芬奇这类人毕竟是百年一遇的奇才.不过,因为我热爱这个行业,也有一定天 ...

随机推荐

  1. Oracle12c 性能优化攻略:攻略目录表

    注:本文来源于 [美] Sam Alapati ,   Darl Kuhn ,  Bill Padfield  著   朱浩波 翻译 <Oracle Database 12C 性能优化攻略> ...

  2. 【ES】match_phrase与regexp

    刚开始接触es,由于弄不清楚match_phrase和regexp导致很多查询结果与预想的不同.在这整理一下. regexp:针对的是单个词项 match_phrase:针对的是多个词项的相对位置 它 ...

  3. &&(与),||(或),|,!(非)

    &&(与),||(或),|,!(非) 只能用于布尔值 //: object/test.java package object; import java.util.*; public c ...

  4. hdu3415 单调队列模板题

    比较裸的单调队列 先求前缀和,枚举所有结束位置1~n+k即可 #include<iostream> #include<cstdio> #include<cstring&g ...

  5. uva11983扫描线k次覆盖

    自己做的是从下往上扫描的,一直wa,不知道坑在哪里..但是作为模板.我还是找了份不错的ac代码 /* 被覆盖不低于k次的点 每个点对应了一个单位面积,本题把点转面积即是被覆盖不低于k次的面积 可以当做 ...

  6. jQuery+存储过程实现无刷新分页(九)

    涉及到得知识点: 1.分页存储过程 2.分页原理 3.jQuery DOM操作 4.jQuery Ajax存取数据   效果图:

  7. [转] equals和==的区别小结

    ==: == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象.比较的是真正意义上的指针操作. 1.比较的是操作符两端的操作数是否是同一个对象 ...

  8. day5模块学习--re正则模块

    1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  9. ThreadLocal、Volatile、synchronized、Atomic

    前言 对于ThreadLocal.Volatile.synchronized.Atomic这四个关键字,我想一提及到大家肯定都想到的是解决在多线程并发环境下资源的共享问题,但是要细说每一个的特点.区别 ...

  10. class path resource [spring/applicationContext.xml] cannot be opened because it does not exist

    1.查看路径有没有写错 2.编辑器认为你的文件不是 source folders(原文件),需要你手动将文件改过来