美文网首页spring boot
为springboot打包thinJar

为springboot打包thinJar

作者: rainmanhhh | 来源:发表于2018-09-12 18:47 被阅读43次

maven

引入插件依赖即可,spring打包jar时会自动处理(如果没有自动下载spring-boot-thin-layout,可以临时放到工程本身的依赖项中,下载完毕后再去掉)

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>${spring-boot.version}</version>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot.experimental</groupId>
                <artifactId>spring-boot-thin-layout</artifactId>
                <version>${wrapper.version}</version>
            </dependency>
        </dependencies>
    </plugin>

gradle

  1. 在buildscript依赖中加入springboot thinjar插件
    classpath("org.springframework.boot.experimental:spring-boot-thin-gradle-plugin:${v.thinJar}")
    
  2. 启用插件
    apply {
        plugin("org.springframework.boot.experimental.thin-launcher")
    }
    
  3. gradle任务中将新增一系列thinJar相关的任务,通常只使用build/thinJar即可,执行成功后会在build/libs/下生成jar(体积非常小,去掉了所有的依赖),在build/resources/下生成pom.xml(包名与你的springboot application类所在包名一致)
  4. 使用pom.xml在服务器手动部署依赖包(未安装maven的请先安装maven)
    mvn -f pom.xml dependency:copy-dependencies
    
    这里只安装了字节码的jar包(适合生产环境),如果要同时安装包含javadoc和源码(适合开发环境),可以设置下列alias
    alias mvni='mvn dependency:copy-dependencies -f pom.xml && mvn dependency:resolve -Dclassifier=javadoc -f pom.xml && mvn dependency:sources -f pom.xml'
    
    然后到pom.xml所在的目录下执行mvni即可
  5. 若某次打出的jar包突然增大(几十上百MB),删除build目录后重新打包即可
  6. 项目配置中不能缺少io.spring.dependency-management和maven这两个gradle插件,否则无法正确生成pom和打包(并且缺少这两个依赖的错误提示是反的)

相关文章

网友评论

    本文标题:为springboot打包thinJar

    本文链接:https://www.haomeiwen.com/subject/wxwmgftx.html