我的全栈之路-Java基础之Java企业级项目开发环境搭建
2.1 Java企业级开发环概述
绝大多数Java开发工程师在公司入职做项目开发时,公司都会统一发放Windows笔记本(例如小米,戴尔等),当然有些公司也会发苹果的MacBookPro。
本人目前打算做全平台开发,因此准备了两台电脑,配置仅供参考。
Alicenware 17R5
Intel 8代i9+32G内存+1TSSD+1T机械+GTX1080显卡+4K分辨率+眼动仪
macBookPro 19款
Intel 9代i9+32G内存+512SSD+Radeon Pro Vega 20显卡
良好的硬件配置可以提高开发、测试、部署效率,如果条件允许尽量选择高配置的电脑。
然后会使用Windows10/macOS+Java8+IntelliJ IDEA+Git/GitLab+Maven/Gradle+Chrome作为开发环境
同时也会使用到Navicat、SecureCRT、Jenkins、Postman,JMeter等工具来完成日常的相关开发、测试、部署等任务。
2.2 Windows10安装Java8
2.2.1 Windows10和Java介绍
Windows作为目前最广泛使用的PC操作系统,在全球市场占据90%的市场份额,目前最新版本Windows为Window10 1903,可以使用winver查看你的Windows版本号
。
如果想要下载纯净的Windows系统镜像,可以搜索https://msdn.itellyou.cn/
Java8作为目前最主流的版本,一些开源框架(例如SpringBoot2.0)和 大型互联网公司的分布式应用都已经采用Java8构建和部署。
2.2.2 Java8下载
Windows10安装Java8非常简单,首先我们去Oracle官网下载Java8,目前最新的Java8版本是1.8.0_221
在点击jdk-8u221-windows-x64.exe的下载链接后,登录Oracle账户就可以开始下载了
如果Oracle官网下载比较慢,还可以复制链接到迅雷下载。
2.2.3 Windows10安装JDK8
Java8下载完成以后,双击安装文件jdk-8u221-windows-x64.exe,然后系统会弹出一个用户账户控制的窗口,提示"你要允许此应用对你的设备进行更改吗",这里选择用鼠标点击是,就可以开始进行安装了。
-
开始安装向导
-
选择安装路径
-
安装JRE
-
安装成功
2.2.4 Windows10配置Java8
在Java8安装完成以后,还需要配置环境变量,其目的是可以在终端上运行Java提供的相关命令(命令本质上也是类似于exe的程序)。
还有其他Java编写的程序(例如Maven,Tomcat)都会依赖这里配置的环境变量。
首先按Windows键,然后搜索环境变量,双击后会打开一个系统属性的窗口
然后点击环境变量
新建JAVA_HOME环境变量,其路径指向之前安装的JDK目录
然后修改系统的PATH环境变量,添加%JAVA_HOME%\bin目录到PATH环境变量中
最后使用javac -version和java -version查看编译和运行Java程序的版本
Microsoft Windows [版本 10.0.18362.295]
(c) 2019 Microsoft Corporation。保留所有权利。
C:\Users\ittim>javac -version
javac 1.8.0_221
C:\Users\ittim>java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
C:\Users\ittim>
2.3 Windows10安装Maven
2.3.1 Windows10安装Maven
Maven是Apache开源的Java项目构建工具,用于管项目的依赖、并提供了编译、打测试、包、部署等功能。
首先去Apache官网下载Maven,目前Maven的最新版本为3.6.1。
然后将下载的apache-maven-3.6.1-bin.zip解压至任意路径(例如D:\DevTools\Java\apache-maven-3.6.1),这样就意味着Maven的安装完成了。
2.3.2 Maven配置
但是如果想要在终端上使用maven命令,还需要在系统环境变量中配置maven,其配置方式和Java类似。首先增加一个系统环境变量MAVEN_HOME,指向Maven的路径
然后在PATH中引用MAVEN_HOME,因为maven命令都在bin目录下,所以这里配置%MAVEN_HOME%\bin
配置完成以后在Windows10下新开一个命令提示符窗口,然后输入mvn -version查看maven安装信息
Maven在使用前除了环境变量的配置意外,还需要修改%MAVEN_HOME%\config目录下的settings.xml文件,主要修改两处地方
- 修改本地仓库的默认路径
Maven默认的本地仓库路径是在用户C:\Users{user.name}.m2\repository路径下
如果你的C盘空间较小,可以修改默认路径。
<localRepository>D:\DevTools\Java\maven_repository</localRepository>
- 增加阿里云私服镜像配置
由于maven默认下载依赖的镜像地址在国外,这里可以配置一个阿里云的地址,在项目开发时可以加速下载项目以来的第三方组件(例如SpringBoot,Mybatis等等)
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
在公司开发时,可以搭建公司专用的Maven Nexus,然后添加对应的配置即可。
2.4 Windows10安装Git
Git作为分布式版本管理系统,是企业开发中必不可少的团队协作开发工具。
目前最新版的Git为2.23.0,可以直接从官网下载。
在Git下载完成之后双击Git-2.23.0-64-bit.exe,开始准备安装Git。
在打开文件时会弹出安全警告,这里点击运行
然后系统会弹出一个用户账户控制的窗口,提示"你要允许此应用对你的设备进行更改吗",这里选择用鼠标点击是,就可以开始进行安装了。
Git安装时如果没有特殊的需要,只需要跟着提示一路默认安装即可。
在使用之前还需要使用git命令配置用户名和邮箱
git config --global user.name "liuguanglei"
git config --global user.email "18601767221@163.com"
2.5 Windows10安装IntellIJ IDEA
2.5.1 IntelliJ IDEA下载
IntelliJ IDEA是Jetbrains公司开发的集成开发环境,可以用于Java,Web,Android,大数据开发。
Windows上IntelliJ IDEA下载只需要点击首页的Download下载即可跳转至下载页面,然后点击Downlaod下载即可。
目前最新的版本为IntelliJ IDEA 2019.2.1
2.5.2 IntelliJ IDEA 安装
当IntelliJ IDEA下载完成以后,在Chrome中双击安装文件ideaIU-2019.2.1.exe,便可开始进行安装
运行安装程序时Windows会弹出一个用户账户控制的窗口,提示"你要允许此应用对你的设备进行更改吗",这里选择用鼠标点击是,就可以开始进行安装了。
选择安装路径
配置IntelliJ IDEA
创建菜单文件夹
安装中,根据电脑硬件不同,需要等待5-15分钟左右
安装完成
2.5.3 首次运行设置
点击桌面的IntelliJ IDEA 2019.2.1.exe图标启动IntelliJ IDEA。
如果是你是第一次安装IntelliJ IDEA,首次启动IntelliJ IDEA时不导入设置,如果你之前安装过IntelliJ IDEA其他的版本,可以选择Config or installation floder导入之前的配置。
同意用户协议
设置主题
启用或者禁用IntelliJ IDEA插件
如果你对scala感兴趣,可以在这里点击Scala下方的Install按钮安装Scala插件,后面可以直接在IntelliJ IDEA中开发Scala应用。
由于我们安装的旗舰版IntelliJ IDEA,它是收费的,如果经济条件允许推荐到官方渠道付费购买正版软件。
当然你也可以选择30天试用
激活后或者选择免费使用就可以开始开发Java程序了。
2.6 IntelliJ IDEA 开发 Java程序
启动IntelliJ IDEA后,选择创建新项目
选择基于Maven的项目
此时需要指定JDK,IntelliJ IDEA会读取之前安装的JDK,如果没有读取到,可以点击右边的New按钮,选择JDK的安装目录即可。虽然目前企业开发是选用JDK8为主,但是本项目还要演示JDK8以后的新特性,因此这里选择JDK11作为主要的JDK版本。后期若Oracle公司发布更新的JDK版本,例如JDK12,JDK13,也会及时更新以便介绍JDK新特性。
设置maven项目的坐标
设置项目名称和路径
如果设置的目录不存在,IntelliJ IDEA会帮你创建
项目概览
项目创建完成之后还需要在目录java-core-programming下的pom.xml文件中添加如下配置,
<build>
<plugins>
<!-- 由于Windows默认是GBK编码,这里将源代码编码设置为UTF-8,防止出现乱码 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 由于maven项目默认的编译级别是JDK1.5,这里采用JDK11编译 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.11</source>
<target>1.11</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
2.7 IntelliJ IDEA集成Maven
由于在使用IntelliJ IDEA首次创建时Maven还需要从默认的Maven中央仓库下载Maven所需的相关插件
此时需要集成之前安装过的Maven
首先找的View->Apperance-Toolbar启动Toolbar
启用之后
然后点击Settings菜单,并在搜索栏中搜索Maven,配置Maven以及settings.xml和本地仓库的路径
这样当项目中添加了相关的依赖,例如spring-boot-starter-web
maven就会自动从阿里云下载相关的组件
2.8 Maven多模块项目创建
之前创建的java-core-programming会作为开发Java应用程序的模板项目,后期所有的应用代码都会存在该项目中。
该项目是一个基于Maven的多模块项目,其定位是包含基于Java的所有语言特性、流行的第三方类库实现以及数据结构、算法、设计模式、并发,JVM等内容。
最终内容的项目结构
。
这里先介绍这个多模块的项目是如何创建的。
首先将java-core-programming下的src目录删除,因此java-core-programming只是作为父目录存在,具体的代码存放在子模块下面。
然后添加.gitignore文件,用于Git提交文件时忽略指定的目录和文件,例如.idea目录和java-core-programming.iml文件。
# project logs
logs/
out/
# jrebel
rebel.xml
# maven ignore
target/
*.jar
*.war
*.ear
*.zip
*.tar
*.tar.gz
# eclipse ignore
.settings/
.project
.classpath
# idea ignore
.idea/
.vertx/*
*target*
.idea/*
*.ipr
*.iml
*.iws
# temp ignore
*.log
*.cache
*.diff
*.patch
*.tmp
# system ignore
.DS_Store
Thumbs.db
# node_modules
node_modules
*.versionsBackup
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
bin/
gen/
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
如果想要在IntelliJ IDEA中更方便的使用.gitignore,还可以安装插件
安装成功之后需要重启IntelliJ IDEA后.gitignore插件会生效
然后在项目java-core-programming的基础上新建模块 java-core-foundational
将java-core-foundational目录下的src目录删除,然后在java-core-foundational的基础上再建一个子模块java-core-foundational-object
,然后在该模块的src/main/java下新建一个名为net.ittimeline.java.core.foundational.object的包
然后在net.ittimline.java.core.object下创建一个类HelloWorld
package net.ittimeline.java.core.object;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Windows10 1903 & IntelliJ IDEA 2019.2.1 Hello World");
}
}
运行程序
IntelliJ IDEA中首次运行程序时可以通过选中类中的main方法或者鼠标右键运行程序
后续可以通过点击界面上的运行菜单直接运行。
2.9 IntelliJ IDEA集成GitHub
IntelliJ IDEA内置了支持GitHub的插件,我们只需要在Settings->Version Control->Github菜单中添加GitHub账号即可集成GitHub。
IntelliJ IDEA中添加GitHub账号
登录GitHub
登录成功
将项目提交至GitHub
编写项目描述
提交文件列表
提交成功
然后可以使用浏览器访问GitHub上的项目
2.10 IntelliJ IDEA个性化配置
2.10.1 IntelliJ IDEA 运行内存调整
如果在使用过程中觉得IntelliJ IDEA比较慢,我们可以调整IntelliJ IDEA的运行参数,位于安装目录C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.1\bin的idea64.exe.vmoptions文件,其默认配置为
-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
如果你的电脑配置为Intel i7+16G+256G SSD,可以参考以下配置
-Xms512m
-Xmx1500m
-XX:ReservedCodeCacheSize=480m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=100
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
如果你的电脑配置是Intel i9+32G内存+512G SSD,可以参考以下配置
-Xms1024m
-Xmx3000m
-XX:ReservedCodeCacheSize=960m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=200
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
修改完成之后重启IntelliJ IDEA,重启后会发现IntelliJ IDEA使用起来更加流畅。
2.10.2 IntelliJ IDEA 代码模板配置
在使用IntelliJ IDEA创建类、接口、枚举时,可以配置统一的注释模板。
其实现方式也很简单,只需要进入IntelliJ IDEA 的设置菜单,然后找到File and Code Templates ,将配置复制到Class,Interface,Enum即可。
/**
* ${description}
* @author liuguanglei ittimelinedotnet@gmail.com
* @website ittimeline.net
* @version ${DATE} ${TIME}
*@since JDK11
*/
这样在每次新建类、接口、枚举时都会有统一格式的注释模板
package net.ittimeline.java.core.foundational.object;
/**
* 注释模板
*
* @author liuguanglei ittimelinedotnet@gmail.com
* @version 2019/9/2 15:31
* @website ittimeline.net
* @since JDK11
*/
public class CodeTemplateTest {
}
2.11 IntelliJ IDEA 日常开发常用插件
- Alibaba Java Coding Guideline 阿里巴巴代码规约插件
- Gitee 码云插件
- Lombok
- Translation 谷歌插件
- VisualVM Launcher
- .gitignore
- SonarLint
- Vue.js
- Go
- CodeGlance
- Statistic 统计代码
- Free Mybatis plugin
- GitToolBox