springboot将项目源代码打包

springboot将项目源代码打包并发布到仓库

如果我们有一些类和方法是公用的,可以打开公用包,而这时使用默认的build方式都所有依赖都打进去,而且你当然项目的文件虽然在包里,但却在boot-inc里,这里的文件不能被其它包识别,只是一大堆class文件,然后下面的方法,我们会生成一个后缀stubs的文件,它只有你需要的几个对象,没有多余的依赖项。
打开build.gradle文件,添加以下内容即可


//打包源代码
task stubsJar(type: Jar, dependsOn: classes) {
    println '打包源代码'

    classifier = "stubs"
    into('/') {
        from("${project.rootDir}/src/main/java/")
        include('lind/core/**') //包含
        exclude '**/CoreApplication.java' //排除
    }
}

artifacts {
    archives stubsJar
}

//直接调用install把它发到本地~/.m2/repository仓库里
install {
    println "发布到本地仓库"
    dependsOn << stubsJar
    repositories.mavenInstaller {
        pom.version = "$project.version"
        pom.artifactId = "$artifactId"
        pom.groupId = "$project.group"
    }
}

repositories {
    mavenLocal()
    maven {
        name "aliyun1"
        url 'http://maven.aliyun.com/nexus/content/groups/public'
    }
    mavenCentral()
}

dependencies {
    compileClasspath('org.springframework.boot:spring-boot-starter-web') //不会被打包到jar里,这样包就不会那么大了
    testCompileClasspath('org.springframework.boot:spring-boot-starter-test')
}

然后在进行gradle build之后,会在build/libs目前生成两个jar文件,其中我们要打到仓库的是带有stubs后缀的。

  • 生成本地仓库
mvn install:install-file -Dfile=/Users/lind.zhang/github/core/build/libs/core-0.6-stubs.jar -DgroupId=lind -DartifactId=core -Dversion=0.6 -Dpackaging=jar
  • 在其它项目里使用依赖的方法引用这个包
dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    compile("lind:core:0.6")

}

感谢各位的阅读!

posted @   张占岭  阅读(3093)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2017-07-26 Linux~学习笔记目录索引
2013-07-26 反编译工具reflector破解方法
2012-07-26 代码重构~提取方法
2012-07-26 代码重构~封装成员变量
2011-07-26 JS不忘本之JS类篇~类,方法,属性,子类,扩展方法在JS里的实现
2011-07-26 JS不忘本之switch篇~建立一个菜单,并为菜单的参数来设置它的具体操作
2011-07-26 移入页面上空文本框时,让它变为焦点,移出清除焦点
点击右上角即可分享
微信分享提示