java~gradle构建公用包并上传到仓库

java~gradle构建公用包并上传到仓库

我们一般会把公用的代码放在一个包里,然后其它 项目可以直接使用,就像你使用第三方包一样!

仓库

存储包的地方叫做仓库,一般可以分为本地仓库和远程仓库,本地一般用mavenLocal表示,在build.gradle中我们都可以看到,一般在安装包时,会优先从本地仓库下载,这样速度是最快的;远程仓库可以在世界各地使用你的包包,提高了代码的重用,面向对象里叫做DRY原则。

一 发到本地仓库

bootJar.enabled = false表示你生成一个类库项目,jar.enabled = true表示需要生成一个jar文件。

// 类型项目需要是非启动项目,所以有以下设置
bootJar.enabled = false // 不要求启动项目,不需要main方法
jar.enabled = true // 需要在build/libs下生成jar文件

apply plugin: "maven-publish"
task sourceJar(type: Jar) {
    from sourceSets.main.allJava
    classifier "sources" //定义一个标志 (生成的jar包后面加上sources, 如: jlib-2.2.11-sources.jar)
}

publishing {
    publications {
        maven(MavenPublication) {
            from components.java    
            artifact sourceJar
        }
    }

    //定义目标仓库 (包所存放的地方)
    repositories {
        mavenLocal()
    }
}

私有仓库如果添加用户名和密码

repositories {
    maven {

        if (project.version.endsWith('-SNAPSHOT')) {
            url = "快照版本的nexus仓库地址"
        } else {
            url = "release版本的仓库地址"
        }

        credentials {
            username 'nexus仓库用户名'
            password 'nexus仓库密码'
        }
    }
    }
}
posted @   张占岭  阅读(2201)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2017-01-07 VM~Linux联不上网
2015-01-07 EF架构~通过EF6的DbCommand拦截器来实现数据库读写分离
2012-01-07 LINQ TO SQL中还是用传统的连接串方式建立DbContext更好些
点击右上角即可分享
微信分享提示