IntellJ IDEA使用及配置杂记

2022-07-30  本文已影响0人  Tod_2021

前言

本人项目多用Java语言开发,且IDE主要是IntelliJ IDEA2019.1 x64版本,由于在IDEA工具的使用上,本人有时也是一知半解,遇到问题就百度搜索,然而网上很多资料参差不齐,故想着将自己遇到的问题整理总结,希望能对你有所帮助,我尽量会整理详细些,如有不懂或描述不恰当的地方,请留言指出,谢谢~

问题一:Maven项目JDK与本机JDK版本不一致

描述:本人安装的JDK版本是1.8,每当我创建一个Maven工程后,项目的默认JDK版本默认是1.5,而且每次我重新打开项目或者挂着项目没操作后,即使更改为JDK1.8也会被默默改回JDK1.5。出现问题如下:

Lambda表达式无法使用 编译时程序报错

下面介绍两种方法解决,第一种比较笨且为临时的,第二种较好。

解决方法一:修改项目JDK版本

  1. 打开Settings窗口(快捷键Ctrl + Alt + S):File -> Settings
Setting窗口修改Java Compiler

修改JDK版本为8

  1. 打开Project Structure窗口(快捷键Ctrl + Alt + Shift + S):File -> Project Structure
Project JDK版本是否对应 Modules source的JDK是否对应

逐一修改每个项目的JDK版本,Apply即可解决

存在不足:临时性修改,下一次重启有可能会出现版本不一致问题

解决方法二:pom文件约定JDK版本

在pom.xml文件中添加如下插件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <properties>
        <java.version>1.8</java.version>
        <maven.version>3.5.1</maven.version>
    </properties>
    <build>
        <plugins>
            <!--调整modules的language level为8-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.version}</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

<project></project>都贴上了,免得你不知道放在哪里,嘿嘿

如果你的项目是多个模块,那么只需要在主模块中添加

可以一劳永逸解决

问题二:如何生成IDEA自定义代码模板

例如上一个问题中的代码块,如果每次使用时,都需要找到对应的代码进行复制粘贴,很繁琐,好在IDEA提供了一个Live Templates功能,能够自定义代码模板,只需要输入相应的快捷方式就能自动生成,类似于psvmIDEA就能自动填充为public static void main(String[] args)一样。

Editor下的Live Templates 创建Template Group 创建Live Template 创建Live Template

其中maven_jdk_setting类似于psvm,设置作用在xml文件中

快捷方式生成自定义代码模块 效果图

个人常用模板

问题三:如何使用IDEA自动生成实体类的serialVersionUID

有时候我们为了防止实体类在存储中被人为修改,需要实现实体类的序列化机制,实现Serializable接口,同时定义一个唯一的SerializeUID,代码如下:

import java.io.Serializable;

public class User implements Serializable {
    private static final long serialVersionUID = 2588932577248604962L;
}

serialVersionUID可以自己定义,也可以有IDEA自动生成,只要保证唯一即可

下面讲一下如何使用IDEA自动生成serialVersionUID

设置中打开生成serialVersionUID警告

搜索serialize,选择实现Serializable接口的类没有定以serialVersionUID会有警告提示

生成serialVersionUID

在实体类名称上按下Alt + Enter快捷键

效果图
上一篇下一篇

猜你喜欢

热点阅读