Gradle生成WAR包及部署Tomcat

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 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/EternityRecall/article/details/78840696?utm_source=copy

猜你喜欢

转载自blog.csdn.net/atco/article/details/82977193