Gradle生成WAR包及部署Tomcat
配置构建脚本 build.gradle
apply plugin: 'war'
- War 属性配置
war {
archiveName 'ProjectName.war'
from 'SubprojectName/build/dist'
}
- war包名称
from 为引入子项目(Gradle Multi-project Builds 多项目构建)
引入依赖
dependencies {
providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
testCompile (
'org.springframework.boot:spring-boot-starter-test'
)
}
- 实现SpringBootServletInitializer接口
@SpringBootApplication
public class GenesisApplication extends SpringBootServletInitializer {
/**
* 实现SpringBootServletInitializer可以让spring-boot项目在web容器中运行
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
builder.sources(this.getClass());
return super.configure(builder);
}
public static void main(String[] args) {
SpringApplication.run(GenesisApplication.class, args);
}
}
进入Run Configurations(Eclipse)
在Gradle Tasks中输入build。选择需要生成War包的项目Run即可。
部署Tomcat
将生成的War包拷贝到tomcat webapps目录下,war包会自动解压(Tomcat运行时)。
共享jar包
多个项目可以共享jar包,可以节省服务器空间,避免各个项目重复加载相同的jar包,占用内存,提高了tomcat的启动速度
配置 catalina.properties
在common.loader后面加上”${catalina.home}/lib/shared/*.jar”
注:catalina.properties在tomcat/conf目录下
配置完成后在tomcat目录下的lib中新建shared文件夹放入共享jar包,不需要共享的留在对应项目目录中的WEB-INF/lib即可。
--------------------- 本文来自 经年Recall 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/EternityRecall/article/details/78840696?utm_source=copy