【gradle】MAC下用gradle构建部署springboot项目

news2024/7/6 20:06:10

MAC下用gradle构建部署springboot项目

  • 前言
  • 下载安装配置gradle
    • 下载安装
      • 下载可能出现的问题 (zsh: command not found: brew)
    • 配置
      • 环境变量
      • 配置国内下载源
        • 全局配置
        • 单个项目配置
  • 通过idea构建项目
    • 构建后的项目结构
  • 小结
  • 延伸

前言

好久以前就听说gradle了,一直没有空出时间和精力学习新知识,趁着有空构建一个。方便idea构建测试项目学习新东西和调试,也捎带着更新下满是灰尘的文章库。之前刚入行有个大佬跟我说学习新东西可以尝试先搞出来再去明白原理,我觉得很适用。我百度了很久都是一步一步自己把碎片拼起来的,希望能帮到你。本文从下载配置gradle开始直到项目成功部署结束。
先说一句,gradle用起来真的很舒服,看项目结构就舒服。目前感觉gradle就是给springboot出的,主打一个“约定大于配置,帮助开发者更快地构建高效的应用程序。”确实高效,快速。
在这里插入图片描述

下载安装配置gradle

首先确保自己电脑是有java的,并且版本在8或以上。

下载安装

默认最新版。

brew install gradle

下载可能出现的问题 (zsh: command not found: brew)

这个是因为我这个电脑没有安装brew命令行,下载安装brew命令行即可。(brew是一个用于macOS和Linux的第三方包管理器,它可以从命令行安装和管理开源的软件)
在这里插入图片描述
下载brew命令行命令(不建议选阿里的下载源,文件实际上都一样的,这里推荐下清华大学下载源,不会限速。如果没有清华大学的下载源了,选其他的,下载慢的话换一个) 这里应该要用到git ,楼主本来就有。

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

下载完之后重新执行安装gradle命令行即可

配置

环境变量

下载完成之后gradle的路径在终端面板内。(目前这个版本在倒数第四行)

vim ~/.bash_profile
# 加入下面的配置
#GRADLE_HOME
GRADLE_HOME=/usr/你的路径/gradle/8.7
export GRADLE_HOME
export PATH=$PATH:$GRADLE_HOME/bin

环境变量生效

source ~/.bash_profile

验证

# 原神,启动!!!
gradle
# 查看环境变量有没有设置成功
gradle -v

在这里插入图片描述

配置国内下载源

不过楼主在构建第一个项目的时候没有先配置国内下载源,下载速度还可以。首次构建用了5,6分钟的亚子。引入了spring-boot-starter-weborg.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2org.springframework.boot:spring-boot-starter-test

全局配置

用户目录下的.gradle文件夹中。路径通常是~/.gradle/init.gradle
新版本没有自动创建init.gradle,新建一个即可。

allprojects {
    repositories {
        def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
        
        // 清除已有的 Maven Central 仓库
        mavenCentral {
            url ALIYUN_REPOSITORY_URL
        }

        // 添加阿里云的仓库
        maven { url ALIYUN_REPOSITORY_URL }
    }
}

单个项目配置

这个文件在build.gradle,需要先构建项目,然后配置在项目中。感觉这种方式对团队项目很友好,配置公司私有库新人pull下来直接就可以上手了。

repositories {
    mavenLocal()
    maven { url 'https://maven.aliyun.com/repository/public/' }
    maven { url 'https://maven.aliyun.com/repository/google/' }
    maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
    mavenCentral { url 'https://maven.aliyun.com/repository/central/' }
    jcenter { url 'https://maven.aliyun.com/repository/jcenter/' }
}

通过idea构建项目

需要注意的点都标注了。
server URL 最好替换成https://start.aliyun.com/ 因为io网站提供的gradle包已经不支持8了,JAVA最低版本只能选17了,当然你也可以下载个jdk17. 选择17但本地jdk版本低于该版本的话不能成功构建。
http://127.0.0.1:8080/user/123/roles/222在这里插入图片描述
点击next之后 引入spring-boot-starter-web 即可,如果你要链接数据库把org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2也勾选上。
springboot版本我目前选择的2.6.13,已经有3.0了。为了避免出错,选择2.X。

构建后的项目结构

默认的controller很贴心了,开封即用,可以直接部署然后请求。

http://127.0.0.1:8080/user/123/roles/222

在这里插入图片描述
build.gradle对标pom.xml 在里面配置加入新的包
引入包的话在dependencies加入新的即可 按照
implementation groupId:artifactId:version’’
在这里插入图片描述

小结

构建项目更快了,现在在反过来看gradle的官方介绍,项目自动化构建开源工具 maven也是相同的介绍,不过对比maven的话项目代码更轻量,更简单易上手了。希望本文可以帮到你。

延伸

maven和gradle本身都是项目管理工具,没想到我百度一搜可以一串命令行搞定。
maven项目转gradle项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1695892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS 7安装alertmanager

说明:本文介绍如何在CentOS 7安装alertmanager; Step1:下载安装包 访问Github仓库,下载对应版本的alertmanager安装包 https://github.com/prometheus/alertmanager/releases 如何查看自己系统的信息,可参考下图中的…

求斐波那契数列第n项的值

本期介绍🍖 主要介绍:什么是斐波那契数列,递归实现求斐波那契数列第n项值,递归法为什么不适合求斐波那契数,用迭代法实现求斐波那契数列的值👀。 文章目录 1. 斐波那契数列是什么?2. 题目2. 递归…

HTML+CSS 玻璃按钮

效果演示 Code <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>玻璃按钮</title><li…

游戏子弹类python设计与实现详解

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、子弹类设计思路 1. 属性定义 2. 方法设计 三、子弹类实现详解 1. 定义子弹…

ubuntu openvoice部署过程记录,解决python3 -m unidic download 时 unidic无法下载的问题

github给的安装顺序&#xff1a; conda create -n openvoice python3.9 conda activate openvoice git clone gitgithub.com:myshell-ai/OpenVoice.git cd OpenVoice pip install -e .安装MeloTTS: pip install githttps://github.com/myshell-ai/MeloTTS.git python -m unid…

从0开始学统计-方差分析

1.什么是方差分析&#xff1f; 方差分析&#xff08;ANOVA&#xff0c;Analysis of Variance&#xff09;是一种统计方法&#xff0c;用于比较三个或三个以上组之间的平均值是否存在显著差异。它适用于以下情况&#xff1a; &#xff08;1&#xff09; 当我们有三个或三个以上…

asrpro softspi SD卡读写

采样 50M 1M&#xff1b;采样时间足够长&#xff0c;采样频率1M 避免信息遗漏 引脚 cs pa2 mosi pa3 sck pa5 miso pa6 vcc ->5v gnd ->gnd ARDUINO SD库与移植&#xff08;原本是打算移值tw ch32v103的sd库的&#xff0c;但没有对比&#xff0c;只能选择arduino ; …

11.jenkins调整上线的脚本实现tag方式上线

jenkins调整上线的脚本实现tag方式上线 多次打标签重新提交到gitlab远程仓库-基于multi-line string parameter 修改脚本html_deploy_tar.sh #!/usr/bin/bashDate$(date %F-%H-%M) web_server"192.168.111.22 192.168.111.23" Name${Date}-${git_version} code_t…

etcd集群部署

1.etcd介绍 1.1 什么是etcd etcd的官方定义如下: A distributed, reliable key-value store for the most critical data of distributed systemetcd是一个Go语言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值(key value)存储、配置共享和服务发现等…

学习Uni-app开发小程序Day18

昨天学习了使用轮播显示图片和文字&#xff0c;轮播方式纵向和横向。今天使用扩展组件和scroll-view显示图片&#xff0c;使用scroll-view的grid方式、插槽slot、自定义组件、磨砂背景定位布局做专题组件 这就是需要做成的效果&#xff0c;下面将一步一步的完成。 首先&#x…

005、API_数据结构

键的数据结构类型&#xff0c;它们分别是&#xff1a; string&#xff08;字符串&#xff09;、hash&#xff08;哈希&#xff09;、list&#xff08;列表&#xff09;、set&#xff08;集合&#xff09;、zset&#xff08;有序集 合&#xff09;&#xff0c;这些只是Redis对外…

word 全文中 英文字体 和 样式的字体 莫名奇妙地 被改成 “等线”

word全文中英文字体和样式的字体莫名奇妙地被改成“等线” sm word又抽风了&#xff0c;改完论文保存后打开突然发现全文字体都不对劲&#xff0c;吓得冷汗直冒&#xff1a;虽然我用git管理了论文版本&#xff0c;但是只有比较大的修改我才上传了&#xff0c;刚刚修了几个小时…

Pycharm2024搭建QT6开发环境

创建pyqt6虚拟环境 首先&#xff0c;创建一个qt6的虚拟环境&#xff1a; conda create --name pyqt6 python3.11.7激活环境&#xff1a; conda activate pyqt6安装pyqt6 安装pyqt6&#xff1a; pip install pyqt6创建代码目录 创建目录&#xff1a; 使用pycharm打开这个…

unity开发Hololens 制作滑动框

一定要做到最后一步&#xff0c;才会有效果 1、创建空物体 ,并添加组件 创建空物体 命名ScrollingObjectCollection&#xff0c; 添加组件如下图 下面是各个组件展开的内容 2、在ScrollingObjectCollection 下面创建两个空物体&#xff0c;分别命名Container、Clipping…

【面试干货】猴子吃桃问题

【面试干货】猴子吃桃问题 1、实现思想2、代码实现 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 猴子吃桃问题&#xff1a;猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不瘾&#xff0c;又多吃了一个 二天早上又将剩…

高职物联网专业嵌入式系统开发教学解决方案

前言 随着人工智能与物联网技术的深度融合&#xff0c;物联网&#xff08;AIoT&#xff09;已成为推动产业发展的重要力量。高职物联网专业作为培养技术人才的重要基地&#xff0c;面临着课程体系更新、教学内容优化的迫切需求。嵌入式系统开发作为物联网专业的核心课程之一&a…

服务器硬件全攻略:从入门到精通,全面解析服务器性能与稳定性!

服务器是计算机网络中提供特定服务的计算机系统&#xff0c;其硬件配置和性能直接影响到整个网络系统的运行效率和稳定性。作为一个资深的技术人员&#xff0c;本文将全面详细地介绍服务器硬件基础知识&#xff0c;包括介绍、命令或语法、主要作用以及使用方法等。 一、介绍 服…

uniapp+php服务端实现苹果iap内购的消耗性项目和非续期订阅项目,前后端代码加逻辑分析

前言&#xff1a;公司的项目app在上架苹果商店时发现人家要求里面的部分购买项目必须使用iap购买的方式&#xff0c;使用原本的微信支付方式审核不给通过&#xff0c;无奈只能重新研究这个东西。做起来还是有点麻烦&#xff0c;主要是网上的文章很少&#xff0c;不能直接硬抄。…

Nature Communications | 柔性半导体器件的大规模集成(柔性半导体器件/柔性电子)

韩国中央大学Sung Kyu Park、 韩国成均馆大学Jong-Woong Kim和Yong-Hoon Kim团队,在《Nature Communications》上发布了一篇题为“Full integration of highly stretchable inorganic transistors and circuits within molecular-tailored elastic substrates on a large scal…

QGraphicsView实现简易地图16『爆炸效果』

前文链接&#xff1a;QGraphicsView实现简易地图15『测量面积』 一种简单的爆炸波扩散效果 动态演示效果&#xff1a; 静态展示图片&#xff1a; 核心代码&#xff1a; #pragma once #include "../AbstractGeoItem.h" #include "DataStruct/GeoData.h"…