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") }

感谢各位的阅读!

springboot将项目源代码打包的更多相关文章

  1. springBoot 搭建web项目(前后端分离,附项目源代码地址)

    springBoot 搭建web项目(前后端分离,附项目源代码地址)   概述 该项目包含springBoot-example-ui 和 springBoot-example,分别为前端与后端,前后端 ...

  2. Springboot项目与vue项目整合打包

    我的环境 * JDK 1.8 * maven 3.6.0 * node环境 1.为什么需要前后端项目开发时分离,部署时合并? 在一些公司,部署实施人员的技术无法和互联网公司的运维团队相比,由于各种不定 ...

  3. springboot项目,打包时携带所有依赖

    springboot项目,打包时携带所有依赖 本文主要解决springboot打包时,如何设置才能把当前项目的所有依赖都打进去. Springboot 的自带spring-boot-maven-plu ...

  4. jenkins+windows+springboot+.net项目自动化部署图文教程

    之前一直在linux中使用jenkins部署程序,正好现在的项目包括了winfrom程序,所以需要部署到windows系统中 jenkins官网:https://jenkins.io/ 下载之后运行j ...

  5. springboot将项目打成war包

    1. 将项目的打包方式改为war包 <groupId>com.cc</groupId> <artifactId>aaaaaa</artifactId> ...

  6. springboot获取项目跟目录

      springboot部署之后无法获取项目目录的问题: 之前看到网上有提问在开发一个springboot的项目时,在项目部署的时候遇到一个问题:就是我将项目导出为jar包,然后用java -jar ...

  7. 工具IDEA 配置springboot+maven项目

    工具IDEA 配置springboot+maven项目 首先安装IDEA,至于怎么安装就不介绍了.. 第一步 配置maven环境 首先安装maven,先在网上下载一个maven包.在IDEA的sett ...

  8. SpringBoot Web项目中中如何使用Junit

    Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性. 凭本人的感觉和经验来说,在项目中完全按标准都写Junit用例覆盖大部分业务代码的,应该不会超过一半. ...

  9. Linux下 SpringBoot jar项目后台运行、查看、停用

    运行java jar: nohup java -jar **-0.0.1-SNAPSHOT.jar & 查看进程: 采用top或者ps aux命令.一般 如果后台是springboot,jar ...

随机推荐

  1. 交叉编译sudo

    编译Sudo version 1.8.6p7下载路径:https://www.sudo.ws/news.html 1.交叉编译 # tar -xvf sudo-1.8.6p7.tar.gz # cd ...

  2. <jsp:forward page='/index' />

  3. python_day8_socket

    目录 客户端/服务器架构 socket逻辑结构 socket概念 套接字的概念 TCP与UDP套接字应用 recv与recvfrom的区别 粘包现象及处理 认证客户端的链接合法性 socktserve ...

  4. 通过JDBC进行简单的增删改查(以MySQL为例) 目录

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  5. 1.2 eigen中矩阵和向量的运算

    1.2 矩阵和向量的运算 1.介绍 eigen给矩阵和向量的算术运算提供重载的c++算术运算符例如+,-,*或这一些点乘dot(),叉乘cross()等等.对于矩阵类(矩阵和向量,之后统称为矩阵 类) ...

  6. JavaBean四个作用域范围

    使用 useBeans的scope属性可以用来指定javabean的作用范围 page //仅在当前页面有效 request //可以通过HttpRequest.getAttribute()方法取得J ...

  7. jquery的ajax及注意事项

    1.引jquery包(jquery-1.8.0.min.js) <script type="text/javascript"> $(function () { //根据 ...

  8. [ 10.03 ]CF每日一题系列—— 534B贪心

    Descripe: 贪心,贪在哪里呢…… 给你初始速度,结尾速度,行驶秒数,每秒速度可变化的范围,问你行驶秒数内最远可以行驶多少距离 Solution: 贪心,我是否加速,就是看剩下的时间能不能减到原 ...

  9. 设置UniDbGrid的整行显示颜色,如果某字段值是我们的控制字段

    设置UniDbGrid的整行显示颜色,如果某字段值是我们的控制字段,使用下列判断设置更快捷一点: procedure TUniForm.UniDBGridDrawColumnCell(Sender: ...

  10. Latex 模版生成会议论文 不显示Keywords,而是显示 Index Terms- ,改成Keywords 方法

    一. 不管显示何种内容,TEX 文件都是 \begin{IEEEKeywords} 关键词1.关键词2,..... \end{IEEEKeywords} 其中:模版文件 IEEETran.cls存在下 ...