介绍intellij idea的最佳实践和技巧
live template
使用缩写,将常用的语言与框架的代码片段配置其中,增加Ali AI 搜索代码 + tabnine 自动进行代码联想,效率大增 以java为例: 框架名字前缀+缩写的两个字母 sb: spring
工程项目配置
模块的配置
springboot 以war方式部署
springboot 通过war,以tomcat方式部署
- 修改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);
}
}
- pom.xml修改
- 增加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>
- 打包格式改成war
war - 配置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>
-
执行mvn package -Dmaven.skip.test
-
打包的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服务器运行
- 下载tomcat服务器,解压到/usr/local/tomcat目录下 https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.62/bin/apache-tomcat-9.0.62.tar.gz
- 配置tomcat服务器运行
- 配置war exploded 方式暴露运行
- 可以选择
- 只更新资源和类,不重启服务器,启动快,热更新
- 只更新资源,不编译类,启动最快,热更新
- 重启服务器,重新编译和重启服务器
配置maven的jvm参数
export MAVEN_OPTS="-Xms256m -Xmx512m"