导读

  最近我手上有个使用Gradle构建的项目,国内使用Gradle的人相对较少。而且我也觉得Gradle的依赖管理方式有些复杂,让我感到有些困惑。因此,我想将项目转换为Maven构建方式。Maven构建的SpringBoot的方式,想必大家都不陌生了吧~我特地记录下来,以备将来可能还会用到。

  这里为了演示方便,我快速创建一个SpringBoot用Gradle构建的项目,将他改成Maven方式构建项目~~~~~

本地安装Gradle

下载地址

https://gradle.org/releases/

https://downloads.gradle.org/distributions/gradle-7.3-all.zip

  注:我下载的是7.3!!!

配置环境变量

# 修改环境变量
vi ~/.bash_profile # 添加如下配置
export GRADLE_HOME="/Users/chenyanbin/plus/gradle-7.3"
export PATH="$PATH:$GRADLE_HOME/bin"
export PATH="$PATH:/Users/chenyanbin/plus/gradle-7.3/bin" # 让配置立即生效
source ~/.bash_profile # 查看gradle版本
gradle -v

新建SpringBoot Gradle构建的项目

Idea配置gradle

Gradle 转 Maven

  注意:Gradle 版本不一样,添加Maven插件方式不一样,我使用的是Gradle 7.3,这个项目我就引入的SpringBoot web依赖和lombok,下面开始Gradle转Maven

操作步骤

  1. 将生成的build中的pom-default.xml 拷贝出去,并重命名pom.xml
  2. 删除之前项目跟gradle相关的文件
  3. 将pom.xml添加至maven
  4. 移除gradle构建项目

  温馨提示:Gradle版本不一样,转换Maven方式!!!我的Gradle 7.3

apply plugin: 'maven-publish'

publishing {
publications {
publish2Local(MavenPublication) {
groupId = project.group
artifactId = "$project.name"
version = project.version
from components.java
}
} repositories {
maven {
url = "$buildDir/repo"
}
}
}

演示

测试一下

  修改端口号、写个Controller  

遇到的问题

  1. maven-publish这个插件不是100%翻译成maven依赖的,可能需要自己解决依赖冲突等问题
  2. 没有翻译过来的依赖,需要自己手动单独添加maven依赖项
  3. Idea没有正确指定Gradle版本,需要指定本地安装的Gradle 7.3

Mac SpringBoot项目 Gradle 7.3 转 Maven 手把手教学,包学会~的更多相关文章

  1. 使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)

    前几天接到一个需求,要把原系统中一个数据处理小功能搬出原系统,拉出来单独做一个SpringBoot项目,然后打成jar包扔到Windows服务器上运行,这样数据处理的时候如果遇到堵塞就不至于整个系统都 ...

  2. IntelliJ IDEA(的springboot项目)环境准备(配置maven和jdk)

    1.配置maven .使用自己电脑上装的maven版本,而非默认的.(方法一) (1)选择configure--Settings (2)搜索maven,配置3.6.2版本的maven.注意:将mave ...

  3. linux/mac下一键删除下载失败的maven jar包

    echo 正在搜索... find . -name "*lastUpdated" | xargs rm -fr echo 搜索完毕

  4. 利用Jenkins实现jdk11+Maven构建springboot项目

    目录 原理图 前期准备 Jdk11安装 Jenkins安装 Maven安装 Jenkins的设置 插件安装 变量配置 搭建项目 1.通用配置 2.源码管理 3.构建触发 4.Maven的构建选项 5. ...

  5. maven项目改造成springboot项目

    springboot项目其实归根到底就是一个maven项目,通常我们创建springboot项目,只要使用idea中的spring Initializr就可以创建就可以了. 今天我们来讲下如何改造一个 ...

  6. 使用idea开发工具,nginx服务部署Extjs6,SpringBoot项目到服务器

    编译ExtJs文件 1.输入命令 2.开始编译 3.找到编译后的文件 E:\idea_project\BaiSheng_Model\fin-ui\build\production\Admin 4.将文 ...

  7. intellij IDEA与springboot项目建立

    概念问题: IntelliJ系中的Project相当于Eclipse系中的workspace.IntelliJ系中的Module相当于Eclipse系中的Project.IntelliJ中一个Proj ...

  8. 使用idea在linux上启动springboot项目

    springboot项目启动方式 1.改成war包放到tomcat上,网上方法很多不再介绍. 2.直接用jar包启动,比较方便,不需要修改项目文件,推荐使用jar包起 将项目和package打成jar ...

  9. ******可用 SpringBoot 项目打包分开lib,配置和资源文件

    spring-boot多模块打包后,无法找到其他模块中的类https://blog.csdn.net/Can96/article/details/96172172 关于SpringBoot项目打包没有 ...

  10. Java SpringBoot 项目构建 Docker 镜像调优实践

    PS:已经在生产实践中验证,解决在生产环境下,网速带宽小,每次推拉镜像影响线上服务问题,按本文方式构建镜像,除了第一次拉取.推送.构建镜像慢,第二.三-次都是几百K大小传输,速度非常快,构建.打包.推 ...

随机推荐

  1. 【编程日记】搭建python开发环境

    0.相关确定 0.1确定操作系统 Python是一种跨平台的编程语言,这意味着它能够运行在所有主要的操作系统中.然而,在不同的操作系统(Windows/Mac/Linux)中,安装Python的方法存 ...

  2. S32DS---make: *** No rule to make target 'clean'. Stop和make: *** No rule to make target 'all'. Stop的一个解决方法

    问题: 最近在用S32DS调试代码的时候,遇到一个稀奇古怪的问题: and 折腾了半天,发现从这个页面导入工程编译就不会出现这个问题???? file-->import projects fro ...

  3. MVC 模式和三层架构

    1. MVC 模式 ‍ MVC 模式和三层架构是一些理论的知识,将来我们使用了它们进行代码开发会让我们代码维护性和扩展性更好. ‍ MVC 是一种分层开发的模式,其中: M:Model,业务模型,处理 ...

  4. 1.4 编写简易ShellCode弹窗

    在前面的章节中相信读者已经学会了使用Metasploit工具生成自己的ShellCode代码片段了,本章将继续深入探索关于ShellCode的相关知识体系,ShellCode 通常是指一个原始的可执行 ...

  5. MYSQL之批量删除(mybatis)

    如果参数是array数组 <update id="deleteAll"> delete from C_V WHERE UUID in <foreach item= ...

  6. 基于JavaFX的扫雷游戏实现(三)——交互逻辑

      相信阅读过上期文章,动手能力强的朋友们已经自己跑出来界面了.所以这期我要讲的是交互部分,也就是对于鼠标点击事件的响应,包括计时计数对点击事件以及一些状态量的影响.   回忆下第一期介绍的扫雷规则和 ...

  7. 根据模板动态生成word(三)使用poi-tl生成word

    @ 目录 一.前言 1.什么是poi-tl 2.官方信息 2.1 源码仓库 2.2 中文文档 2.3 开源协议 3.poi-tl的优势 3.1 poi-tl和其他模板引擎的对比 3.2 poi-tl ...

  8. 现代C++(Modern C++)基本用法实践:五、智能指针

    概述 c++效率较高的一个原因是我们可以自己定制策略手动申请和释放内存,当然,也伴随着开发效率降低和内存泄漏的风险.为了减少手动管理内存带来的困扰,c++提出了智能指针,可以帮助我们进行内存管理,有三 ...

  9. Avalonia 使用EFCore调用SQLite实现Singleton全局注册

    Avalonia 使用EFCore调用SQLite实现Singleton全局注册 本篇博客是我的开源项目TerraMours.Chat.Ava的更新的记录分享,本次更新使用EntityFrameWor ...

  10. 飞桨paddlespeech语音唤醒推理C定点实现

    前面的文章(飞桨paddlespeech语音唤醒推理C浮点实现)讲了飞桨paddlespeech语音唤醒推理的C浮点实现.但是嵌入式设备通常CPU频率低和memory小,在嵌入式设备上要想流畅的运行语 ...