您的位置:首页 > 运维架构 > Tomcat

Gradle生成WAR包及部署Tomcat

2017-12-19 11:21 357 查看

Gradle生成WAR包及部署Tomcat

配置构建脚本 build.gradle

apply plugin: 'war'


War 属性配置

war {
archiveName 'ProjectName.war'
from 'SubprojectName/build/dist'
}


archiveName 为生成war包名称

from 为引入子项目(Gradle Multi-project Builds 多项目构建)

引入依赖

dependencies {

providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')

testCompile (
'org.springframework.boot:spring-boot-starter-test'
)
}


spring-boot入口实现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即可。

引用

更多War属性见官方文档

多项目构建

使用外部容器运行spring-boot项目
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gradle tomcat