intellij idea的最佳实践和技巧

2022-05-01
1分钟阅读时长

介绍intellij idea的最佳实践和技巧

live template

使用缩写,将常用的语言与框架的代码片段配置其中,增加Ali AI 搜索代码 + tabnine 自动进行代码联想,效率大增 以java为例: 框架名字前缀+缩写的两个字母 sb: spring

工程项目配置

模块的配置

springboot 以war方式部署

springboot 通过war,以tomcat方式部署

  1. 修改application代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class SbWarApp extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SbWarApp.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(SbWarApp.class, args);
    }
}
  1. pom.xml修改
  2. 增加xml, scope为provided表示只在编译和测试时候有效 scope为compile表示只在编译、测试、运行时候有效 scope为test表示只在测试时候有效
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>

    <scope>provided</scope>
</dependency>
  1. 打包格式改成war war
  2. 配置plugin,指定主要的mainClass
<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>

                <configuration>
                    <mainClass>cc.i.web1.sbweb1.SbWebWarApp</mainClass>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
  1. 执行mvn package -Dmaven.skip.test

  2. 打包的war,通过tomcat的应用管理器部署,或者手动拷贝到tomcat目录下,修改配置

注意,访问http://localhost:8080/manager/html,tomcat登录密码可以通过/usr/local/tomcat/conf/tomcat-users.xml进行配置 增加一行

<user username="admin" password="xxx" roles="manager-gui"/>

spring boot或spring mvc或jsp 用外置的tomcat服务器运行

  1. 下载tomcat服务器,解压到/usr/local/tomcat目录下 https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.62/bin/apache-tomcat-9.0.62.tar.gz
  2. 配置tomcat服务器运行
  3. 配置war exploded 方式暴露运行
  4. 可以选择
  • 只更新资源和类,不重启服务器,启动快,热更新
  • 只更新资源,不编译类,启动最快,热更新
  • 重启服务器,重新编译和重启服务器

配置maven的jvm参数

export MAVEN_OPTS="-Xms256m -Xmx512m"