gradle - 将 Spring Boot 项目添加到本地 Maven 存储库中
问题描述
我创建了一个 gradle 项目,即MicroTwo,它有一个名为transferObject的子模块
父模块的 settings.gradle
rootProject.name = 'microtwo'
include 'transferObjects'
MicroTwo 的 build.gradle
plugins {
id 'java'
}
group='com.micro'
version = '1.0.4'
sourceCompatibility = '11'
repositories {
mavenLocal()
}
dependencies {
implementation project(':transferObjects')
}
子模块的 build.gradle 即 transferObject 是
plugins {
id 'java'
}
group = 'com.micro'
我想在我的本地 maven 存储库中添加子模块,即transferObject作为 jar,以便我可以在另一个 spring boot 项目中将它用作外部 jar
解决方案
来自 gradle 文档gradlepublish
我们需要添加一个 maven-publish 插件,例如
plugins {
id 'maven-publish'
id 'java-library'
}
并定义一个发布块
group 'com.test'
version '1.0.5'
publishing {
publications {
myLibrary(MavenPublication) {
from components.java
}
}
插件块和发布块应添加到您要为其创建 jar 的模块的 build.gradle 中。添加插件 maven-publish 将创建类似的任务
publishPubNamePublicationToMavenLocal
或者
publishPubNamePublicationToRepoNameRepository
运行publishPubNamePublicationToMavenLocal将在您的本地 m2 存储库中创建 jar 在我的情况下,我在文件夹内有一个 jar transferObjects-1.0.5com\test\transferObjects\1.0.5
推荐阅读
- r - 如何从数据框中随机选择行并删除已选择的每一行?
- tensorflow - Keras BatchNormalization 层不兼容错误
- python - 如何在 python 中设置 protobuf Timestamp 字段?
- android-emulator - 如何通过 Android 模拟器将 ngrok 与 Okta 结合使用
- ruby - 来自调用的 RSpec 双/模拟打印方法
- python - Python NameError:名称未定义但无法捕获错误
- javascript - 第二次单击时关闭弹出窗口
- bots - discord.py 反应获得角色
- flutter - 颤振 | 应用程序加载后加载数据表
- java - 在模拟器中尝试和测试时反应原生应用程序错误(?)