gradle構建springboot專案瘦身,外部依賴jar的終極方法
1.為什麼瘦身?
阿里雲部署,每次改了程式碼,上傳80多M到伺服器,血與淚,如果把jar單獨上傳的話,那麼影響就很小了,只需要傳對應的jar上去就可以保證專案正常執行
2.方法build.gradle示例
buildscript {
dependencies {
//配置熱部署
classpath 'org.springframework:springloaded:1.2.8.RELEASE'
}
}
//
plugins {
id 'org.springframework.boot' version '2.0.5.RELEASE'
}
apply plugin: 'java'
apply plugin: 'io.spring.dependency-management'
dependencies {
compile project(':cyjz-pojo')
compile project(':cyjz-common')
compile project(':cyjz-interface-auth')
compile project(':cyjz-controller-fileUploadDownload')
//如果要做jar包分離,此處必須要使用compile,不然系統啟動失敗,血的教訓
compile 'org.springframework.boot:spring-boot-starter-amqp'
compile 'org.springframework.boot:spring-boot-starter-data-redis'
compile 'org.springframework.boot:spring-boot-starter-jdbc'
compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2'
testCompile 'org.springframework.boot:spring-boot-starter-test'
compile 'com.alibaba.boot:dubbo-spring-boot-starter:0.2.0'
compile 'org.springframework.session:spring-session-data-redis:2.0.6.RELEASE'
compile 'mysql:mysql-connector-java:5.1.47'
}
//清除lib的jar
task clearJar(type: Delete) {
delete "$buildDir/libs/lib"
}
//複製jar到lib裡面去
task copyJar(type: Copy) {
from configurations.runtime
into "$buildDir/libs/lib"
}
bootJar {
// 例外所有的jar
excludes = ["*.jar"]
// lib目錄的清除和複製任務
dependsOn clearJar
dependsOn copyJar
// 指定依賴包的路徑
manifest {
attributes "Manifest-Version": 1.0,
'Class-Path': configurations.runtime.files.collect { "lib/$it.name" }.join(' ')
}
}
3.呼叫bootJar
4.直接java -jar xxx.jar即可執行專案
相關文章
- Springboot專案依賴jar分離部署Spring BootJAR
- Gradle構建SpringBoot專案GradleSpring Boot
- idea gradle 專案依賴IdeaGradle
- 使用gradle構建springboot專案GradleSpring Boot
- Gradle構建springboot專案的倉庫處理(包括外掛倉庫以及依賴倉庫)GradleSpring Boot
- springboot gradle demo (使用 Gradle 構建的 Spring Boot專案)Spring BootGradle
- 【SpringBoot】三十二、SpringBoot專案Jar包如何瘦身部署Spring BootJAR
- 【Java】【專案構建】Idea中設定Gradle/Maven多模組依賴JavaIdeaGradleMaven
- 【Java】【Gradle】Gradle構建SpringBoot專案,Gradle模組化管理JavaGradleSpring Boot
- Gradle入門及SpringBoot專案構建GradleSpring Boot
- IDEA使用Gradle構建SpringBoot專案工程IdeaGradleSpring Boot
- IDEA如何匯入外部依賴的jar包IdeaJAR
- 06、使用Gradle構建的專案如何打jar包和war包GradleJAR
- Idea Java Maven建立專案,新增依賴,引用本地jar,打包jarIdeaJavaMavenJAR
- Gradle之多專案構建Gradle
- springboot專案打包瘦身Spring Boot
- Maven把專案依賴的所有jar包都打到同一個jar中MavenJAR
- 【Springboot】在Idea的Maven專案匯入依賴Spring BootIdeaMaven
- IDEA+gradle將springBoot專案打可執行的Jar包IdeaGradleSpring BootJAR
- 使用Gradle檢視Android專案中庫的依賴關係GradleAndroid
- 如何使用Maven將專案中的依賴打進jar包MavenJAR
- IDEA中Maven顯示存在依賴但專案中並未匯入依賴JARIdeaMavenJAR
- 在gradle中構建java專案GradleJava
- Gradle快速構建Spring Boot專案GradleSpring Boot
- SpringBoot Jar包瘦身 - 跟大檔案說再見!Spring BootJAR
- Springboot專案中需整合的依賴集和檔案配置Spring Boot
- node和vue-cli構建專案時安裝的常用依賴Vue
- 用Idea 2019.3+和Gradle5.2.1+ 構建SpringBoot多專案(二)IdeaGradleSpring Boot
- Maven 引入外部依賴Maven
- maven打包jar無法打入依賴專案問題解決MavenJAR
- 玩轉IDEA專案結構Project Structure,打Jar包、模組/依賴管理全搞定IdeaProjectStructJAR
- Gradle學習系列—-多專案構建Gradle
- Gradle學習系列----多專案構建Gradle
- 普通maven專案將依賴包打包方法Maven
- springboot 執行 jar 包讀取外部配置檔案Spring BootJAR
- SpringBoot淺析——專案構建Spring Boot
- 極簡架構模式-依賴注入模式架構模式依賴注入
- maven專案打包說有依賴jar包到一個資料夾MavenJAR