跟光磊学Java开发-Windows版Java集成开发环境搭建

跟光磊学Java开发-Windows版Java集成开发环境搭建

企业级项目的开发流程

如果你在公司开发项目,通常是本地安装Java8,Git,Maven3,IntelliJ IDEA 2020.2,而开发人员在本地编写好代码后提交代码的分支是开发(dev)分支,经过各个业务的开发联合测试通过后,再由你的Team Leader或者测试人员合并到测试分支进行完整的功能测试、集成测试以及压力测试后,再合并到UT分支,此时会由产品经理测试验收,验收通过后发布线上环境给产品和用户验收。此时会将UT分支的代码合并到master分支。版本管理使用的是Gitlab,而不是GitHub。

因此通常是有四个环境,分别对应四个分支的代码。除此以外当新业务需求下来时,会基于dev分支创建新的分支后开发,然后在合并到dev分支,dev到test,test到ut,ut到master这样一个开发流程。而开发、测试环境都是独立的数据库,UT和线上共享一个数据库。开发环境、测试环境、UT环境和线上环境都是不同的应用配置。

Maven基础

因为等会要创建一个基于Maven的项目,这里普及下maven基础知识

Maven是一个Apache开源组织下的开源项目,用于Java项目的构建,所谓的构建就是自动化完成Java项目的清理、编译、测试、打包、部署的构建流程。
Apache Maven
Maven本身也是使用Java语言编写,因此在安装、使用Maven之前必须安装、配置好JDK

  • echo %JAVA_HOME% 用于查看JAVA_HOME的路径,Maven会基于JAVA_HOME来查找JDK
  • javac -version 查看Java编译器的版本
  • java -version 查看java解释器的版本
    如果能够正常显示JAVA_HOME以及Java编译器和Java解释器的版本信息时表示Java环境准备好了,如果不会配置的同学可以在头条号搜索跟光磊学Java开发-Java概述与开发环境搭建,详细介绍了JDK下载、安装和配置。

Java环境检查
Java环境检查

然后就可以去官网下载Maven,这里直接选择下载apache-maven-3.6.3-bin.zip文件即可
下载Maven

下载完成后将apache-maven-3.6.3-bin.zip解压到指定的目录,例如D:DevToolsJavaapache-maven-3.6.3,maven不需要安装,解压并进行相关配置后就能使用。

然后配置MAVEN_HOME环境变量
MAVEN_HOME
并且在PATH环境变量中引用
MAVEN PATH

当配置完成后启动终端,并在终端上输入mvn -v查看Maven的版本信息以及依赖的环境信息
maven 版本

在正式使用maven之前,还需要修改settings.xml文件,该文件位于D:DevToolsJavaapache-maven-3.6.3conf目录下。
maven默认的仓库路径是 ${user.home}/.m2/repository,这里修改成D:DevToolsJavamaven_repository
本地仓库路径配置

除此以外还要添加阿里云的maven私服仓库配置
aliyun maven nexus

到这里Maven的配置就结束了

需要说明的是maven的使用都是通过命令进行,不过IDEA对maven进行了较好的封装,开发环境下使用IDEA封装的Maven即可,而测试环境或者显线上环境需要使用maven命令来使用maven,后续会介绍maven相关的命令。

Git基础

GitLinux之父Linus Torvalds使用C语言编写的开源的分布式版本控制系统,java-core项目会接入git做版本控制、并且会分享到GitHub。
但是在使用GitHub之前,首先需要下载和安装Git,如果官网下载速度慢,可以考虑将下载链接复制到迅雷后下载。目前最新版本是Git2.29
Git
Git的安装和普通的程序安装没有什么差别,只需要选择安装路径,默认是C:Program FilesGit,然后点击Next默认安装即可。

在使用Git时默认也是基于终端的命令行,不过IDEA对Git也有比较好的封装。目前我们主要是在IDEA中使用Git,当然在IDEA中使用Git之前也是需要安装Git,可以进入IDEA的设置菜单,然后找到Git的Path to Git executable,默认会从C:Program FilesGitcmd路径下查找git.exe可执行程序,如果你在安装Git时修改了路径,此处需要修改成你的安装路径
git
然后点击Test,如果能够获取Git的版本信息,那么就可以在IDEA中使用Git了。
获取版本信息

在正式使用Git之前我们还需要使用git config命令来设置提交代码时的用户信息,主要是用户名和用户邮箱

C:Usersittim>git config --global user.name "ittimeline"

C:Usersittim>git config --global user.email "ittimelinedotnet@gmail.com"

需要注意的是这里设置的邮箱最好和GitHub注册时的用户名和邮箱保持一致
用户名和有限

IntelliJ IDEA 基本使用

IDEA 介绍

IDEA 全称是IntelliJ IDEA,它是来自捷克的Jetbrains公司开发的一款功能强大的Java集成开发环境。
Jetbrains
除了IDEA以外,Jetbrains公司还开发其他主流语言的集成开发环境,

  • GoLand Go语言的集成开发环境
  • Pycharm Python语言的集成开发环境
  • Webstrom JavaScript的集成开发环境
  • CLion C/C++的集成开发环境
  • AppCode macOS平台的集成开发环境
  • DataGrip 数据库客户端

这里重点介绍IntelliJ IDEA 在Windows下开发Java项目

IDEA 是目前主流互联网公司首选的Java开发工具,

  • 支持主流操作系统
    • Windows
    • Linux(Ubuntu)
    • macOS
  • 支持主流的JVM语言
    • Java
    • Scala
    • Kotlin
    • Groovy
      同时通过强大的插件功能也可以支持其他语言的应用开发
  • Python
  • Ruby
  • PHP
  • SQL
  • Go
  • JavaScript
  • TypeScript
  • CoffeeScript
  • Dart
  • Erlang

IntelliJ IDEA 主要分为三个版本

  • IntelliJ IDEA 商业版
    用于JVM,Web和企业开发的商业版。它包含社区版的所有功能,并增加了对其他基于IntelliJ平台的IDE所关注的语言的支持,以及对各种服务器端和前端框架,应用程序服务器,与数据库的集成和配置文件的支持。工具等。
  • IntelliJ IDEA 社区版
    针对JVM和Android开发的免费开源版。
  • IntelliJ IDEA 教育版
    该免费版包含用于学习Java,Kotlin和Scala的内置课程,交互式编程任务和作业以及教师创建自己的课程和管理教育过程的特殊功能(请参阅IntelliJ IDEA Edu)。

官网给出了旗舰版和社区版的主要差别比较
旗舰版和社区版的差别

IDEA 最新特性:https://www.jetbrains.com/zh-cn/idea/whatsnew/
IDEA功能特点:https://www.jetbrains.com/zh-cn/idea/features/
IDEA官方文档:https://www.jetbrains.com/help/idea/discover-intellij-idea.html

IDEA 下载和安装

目前IDEA可以通过两种方式下载,第一种是从官网下载IntelliJ IDEA 安装包后独立安装,第二种是通过Jetbrains提供的Toolbox App 来下载、安装和运行IntelliJ IDEA。
我这里使用Toolbox App来下载、安装IDEA,当然你得提前在你的机器上安装Toolbox App,它可以很好的用于管理你的Jetbrains全家桶以及项目。
Toolbox App官网
当下载并安装好Toolbox App后它会自动启动,在windows的底部任务栏有个图标,点击后会出现Tools和Projects两个视图
Toolbox App主界面
其中Tools展示了Jetbrains全家桶,而Project用于展示使用Jetbrains全家桶开发的项目。

我们选择在Tools视图中选择安装IDEA商业版2020.3,这也是目前(2020/12/09)的最新版本
IntelliJ IDEA
当点击Install后Toolbox App会自动从Jetbrains官网下载安装包
下载IDEA

下载完成后会自动完成安装,默认的安装路径是C:UsersittimAppDataLocalJetBrainsToolboxappsIDEA-Uch-0
安装IntelliJ IDEA

IntelliJ IDEA 设置

在首次启动前可以通过Toolbox App 对IDEA的运行环境 进行一些设置
设置

IDEA运行时会读取一个后缀名为.vmoptions的配置文件,
编辑vmoptions
默认的配置文件如下

-Xms128m
-Xmx3000m
-XX:ReservedCodeCacheSize=512m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-Dide.no.platform.update=true

大家可以针对自己机器的硬件配置做相应的调整,增大内存提升IDEA的性能,其中可以调整的参数有

  • -Xms
  • -Xmx
  • -XX:ReservedCodeCacheSize
  • -XX:SoftRefLRUPolicyMSPerMB

调整后的参数

-Xms512m
-Xmx3000m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=200
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-Dide.no.platform.update=true

首次运行IDEA设置

在Toolbox App中点击IDEA就可以启动
启动

  1. 启动后会弹出数据分享
    数据分享

  2. 导入IDEA设置
    如果你之前安装过其他版本的IDEA,可以选择Config or installation directory
    导入IDEA设置

  3. 激活IDEA
    由于IDEA商业版是收费的产品,在首次启动时会提示需要激活产品,提供了三种方式激活产品
    激活产品

也可以选择试用30天
试用

  1. 欢迎页
    当选择激活或者免费试用30天后就会出现欢迎页面
    欢迎页面

Projects 表示项目,在项目的视图中可以选择

  • New Project 创建项目
  • Open 打开已有的项目
  • Get from VCS 从版本控制系统中获取项目

Customize 表示个性化设置,这里可以修改主题、字体大小、快捷键的设置
个性化设置

除此以外点击all settings 可以查看IDEA中所有的设置项
设置项
这里主要调整maven即可
主要是指定maven的安装路径以及maven的配置文件路径和maven 仓库路径
maven

Plugins 可以查看已经安装的插件和在插件市场中寻找你需要的个性化插件
插件

因为 Ant几乎没啥项目使用了,基本都是用Maven或者Gradle来构建项目,因此我这里直接禁用了
禁用Ant

Learning IntelliJ IDEA 就是学习IDEA的使用,大佬们可以跟着我的"跟光磊学Java开发"走就行了。
练习使用IDEA

使用IDEA创建Java项目

  1. 在启动界面的Projects视图中点击 New Project 创建项目
    new project

  2. 选择基于Maven的项目
    IDEA 会自动读取系统中已经安装的JDK
    maven项目

  3. 设置项目信息

  • Name:项目名称 java-core项目会涵盖java开发的方方面面,预计会达到50w行代码以上
  • Location:表示项目的路径 ,这里设置为D:workspacejavaittimelinedotnetjava-core
  • Artifact Coordinates 主要用于设置maven项目的坐标
    项目路径
  1. 关闭每日提示
    关闭每日提示

  2. 修改Maven路径
    IDEA内置了maven,这里配置成之前安装的maven
    选中File->Settings菜单就可以进入设置项,然后设置maven
    修改Maven路径

当首次创建项目时maven会从阿里云下载其自身所依赖的插件到本地仓库下
阿里云下载

  1. 项目结构说明
    java -core
    java-core是项目名称,该项目是一个基于maven标准结构的项目
  • .idea和java-core.iml是IDEA的项目配置信息,日常开发时不会修改此目录的内容
  • src/main/java用于存放Java代码
  • src/main/resource用于存放资源文件,例如项目的配置文件
  • src/test/java 用于存放项目的测试代码
  • External Libraries 用于存放Java项目依赖的类库,目前只会依赖JDK的类库
  • pom.xml文件是maven项目的配置文件

右侧maven菜单提供了maven生命周期的所有子菜单,包含清理、编译、测试、打包、部署等等双击即可执行。
Database用于写SQL操作数据库,后续使用DataGrip实现。

java-core上传至Github

在将java-core上传到Github之前,需要准备两个文件:README.md和.gitignore以及删除src目录,因为java-core目录作为父模块存在,不会存放任何代码

  • README.md是一个基于markdown格式的项目介绍的文件,你可以使用Typora markdown编辑器去编辑项目说明
  • .gitignore文件是用于配置哪些文件不需要上传,例如.idea目录和java-core.iml不需要上传到Github

java-core项目结构
java-core

使用GitHub之前需要去GitHub官网注册一个账号,注册账号时需要填写用户名、邮箱和密码信息
Github注册

注册成功之后使用GitHub生成一个Token,生成Token的地址是https://github.com/settings/tokens
Generator new token

  1. 设置token
    设置token

  2. 生成token
    生成token

  3. 生成成功
    生成成功

然后在IDEA中以token的方式登录Github
以Token的方式登录Github

输入Token登录
输入Token

登录成功
登录成功

分享项目到GitHub

  1. Share Project On Github
    分享项目到GitHub

  2. 设置项目描述信息
    设置项目描述信息

  3. 选择初始化提交内容和提交消息
    由于有了.gitignore文件,提交时target、.idea、java-core.iml文件都被过滤了。
    选择提交内容

此时会创建本地Git仓库,即项目中的多了.git目录,然后推送到远程的master分支。
jjava-core项目目录结构

  1. 推送到GitHub成功
    推送到GitHub成功

项目上传到GitHub后使用浏览器访问https://github.com/ittimeline/java-core 时就可以看到java-core项目
java-core

IDEA中git分支的创建和切换

在开发hellowrold之前,我们先依次使用IDEA创建feature-jdk,dev,test,ut 四个分支。
选中右下角的master
选中master
然后会出现New Branch
NewBranch

点击New Branch创建第一个分支feature-jdk
feature-jdk

当分支创建完成后IDEA自动切换到feature-jdk分支
feature-jdk

然后点击feature-jdk后继续点击New Branch依次创建 dev,test,ut三个分支
分支列表
此时一共有feature-jdk,dev,test,ut和master五个本地分支。第一阶段也就是Java语言基础的代码都会写在feature-jdk分支上。

使用IDEA开发HelloWorld

  1. 切换分支
    如果当前分支不是feature-jdk,选中当前的分支名字,使用checkout切换到feature-jdk分支。
    checkout feature-jdk

  2. 在java-core下创建子模块 java-core-jdk-foundational

选中java-core,然后New->Module
new module
选择基于Maven的模块
基于Maven
设置maven项目坐标
设置坐标

自动添加到Git管理
当项目被Git管理后创建新文件时IDEA会提示是否添加到Git的管理,我们这里选择添加,并且勾选Don't ask again,即以后不再询问是否添加。

Add File to Git
Add File to Git

  1. 在java-core-jdk-foundational模块的src/main/java目录下创建一个package
    建包
    包名一般都是公司域名倒过来,例如com.taobao,然后再跟上项目名和模块名。我这里就叫做net.ittimeline.java.core.jdk.foundational.object
    package name
  2. 配置文件模板
    在创建Java文件,例如类文件、接口文件和枚举时可以给它们添加默认的文档注释信息
/**
 * ${descritpion}
 * @author tony 18601767221@163.com
 * @since JDK11
 * @version ${DATE} ${TIME}
*/

文件模板
文件模板

  1. 在object包下创建一个Java类
    new java class
    类名叫HelloWorld
    Hello World

填写说明信息
说明信息

然后会自动生成如下文件
HelloWorld.java

  1. 编写HelloWorld

编写HelloWorld时可以使用IDEA提供的一些快捷方式

  • psvm或者main 用于生成main方法
  • sout用于生成打印输出语句System.out.println();
package net.ittimeline.java.core.jdk.foundational.object;

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World with Windows10 1903 & JDK11.0.9 & IntelliJ IDEA 2020.3");
    }
}
  1. 运行HelloWorld
    IDEA在main函数的左边都会生成一个绿色的运行按钮,点击就可以运行程序,也可以使用快捷键Ctrl+Shfit+F10来运行程序
    运行HelloWorld

默认情况下IDEA的Toolbar是不显示的,这里启用Toolbar
启用Toolbar

启用后可以看到运行和调试程序的Toolbar
运行和调试

当程序首次后,后续可以点击启动来运行程序和调试Toolbar来调试程序。

  1. 查看运行结果
    IDEA提供了终端来查看程序的结果
    查看运行结果

Git在IDEA中的基本使用

IDEA中绿色的文件表示没有提交到Git仓库的文件
未提交的文件

当选中项目后右键选中Git会列出Git的常见操作
git菜单

我们这里需要点击Commit Directory 提交刚才添加的java-core-jdk-foundational模块以及编写的HelloWorld.java,快捷键是Ctrl+K
然后编写提交说明,用于描述此次的代码变更。再点击Commit and Push 就可以提交到本地仓库以及远程的feature-jdk分支
commit and push

推送提交时默认选择的是和本地分支相同名的远程分支feature-jdk,点击右下角的Push就可以推送到远程的jdk-feature分支
feature-jdk

然后可以在GitHub对应的项目仓库中看到提交通知
feature-jdk

点击2branches可以看到所有的分支信息
所有分支信息

当点击提交人的名字,可以看到所有的提交记录
指定分支提交记录

在IDEA的git视图中也可以查看本地和远程的提交信息
本地提交信息
本地提交信息

IDEA常用插件

首先了解下IDEA插件是如何安装的
在IDEA的设置(ctrl+alt+s)中搜索Plugins, 然后找到Marketplace
这里以Git插件GitToolBox为例,直接在Marketplace中搜索GitToolBox后点击Install即可安装
安装插件

安装时会弹出如下提示信息,点击同意即可
Accept

插件安装完成后需要重启,重启后会在项目模块名看到项目的分支信息
项目的分支信息

其他已安装的IDEA插件

  • Add to gitignore
  • Alibaba Java Coding Guidelines 阿里编码规约
  • Grep Console
  • Maven Helper
  • SequenceDiagram 时序图
  • Statistic 统计代码
    统计代码函数
  • Translation 翻译
  • VIsualVM Launcher JVM启动器

目前只能用到Statistic统计代码,其他的插件以及IDEA的其他更多功能将会随着项目的迭代继续介绍。

原文地址:https://www.cnblogs.com/ittimeline/p/14487453.html