首页 > 其他分享 >【Spring Boot 初识丨maven】

【Spring Boot 初识丨maven】

时间:2023-07-24 16:07:31浏览次数:35  
标签:Maven -- Spring boot maven Boot spring org

上一篇讲了使用spirngboot 自带的构建器构建项目 本篇来讲一讲如何从零开始构建一个maven项目

前提: jdk 推荐 java17及以上 maven 推荐 Maven 3.5+

(maven构建)

一、 安装maven

  Maven的安装需要依赖JDK的安装,所以必须先安装完成JDK且配置好JDK环境变量后在进行Maven的安装。

1. <font color='red'>下载</font>

  官网下载:     最新版: 在这里插入图片描述     历史版本: 在这里插入图片描述 点击上面的 ‘Maven 3 archives’在这个里边找自己需要的版本 在这里插入图片描述 下载完了之后解压缩 然后将Maven的bin目录添加到环境变量中。 输入mvn -v命令,如果能够输出Maven的版本信息如下图,则说明安装成功。 在这里插入图片描述

2. <font color='green'>settings.xml</font>

  安装完毕之后 配置settings.xml

  • 设置Maven本地仓库路径:在settings.xml文件中修改localRepository节点 如下图: 在这里插入图片描述

  • 添加国内镜像源:在settings.xml文件中修改mirrors节点 如下图: 在这里插入图片描述   上文添加的是阿里云中央仓库的镜像 可以根据自己的需要自行加镜像

  • 修改Maven默认的JDK版本:在settings.xml文件中profiles节点之间添加jdk版本 如下图: 在这里插入图片描述 <hr>

二、 构建maven项目

2.1 创建项目

  上述的准备工作做完了之后开始创建 maven 项目 。 点击 ‘create new project’ 选择maven项目 然后一路next 起个项目名点击完成即可。 在这里插入图片描述

2.2 配置maven

打开项目之后配置maven 配置maven(File | Settings | Build, Execution, Deployment | Build Tools | Maven ) 配置 maven路径 使用的配置文件还有本地仓库的位置 这三项 如下图: 在这里插入图片描述

2.3 <font color='purple'> pom.xml </font>

在打开的项目下面创建一个简单的子目录结构 如下:

└── src    └── main      └── java        └── demo

在项目根目录下的pom.xml文件添加如下内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>org.example</groupId>
    <artifactId>mavenDemo</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>mavenDemo</name>
    <description>Maven Demo project for Spring Boot</description>
    <properties>
        <java.version>8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
        	<!--  SpringBoot 自带的打包插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

<!--  MAVEN 打包-->
<!--            <plugin>-->
<!--                <groupId>org.apache.maven.plugins</groupId>-->
<!--                <artifactId>maven-shade-plugin</artifactId>-->
<!--                <version>3.2.4</version>-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <phase>package</phase>-->
<!--                        <goals>-->
<!--                            <goal>shade</goal>-->
<!--                        </goals>-->
<!--                        <configuration>-->
<!--                            <transformers>-->
<!--                                <transformer-->
<!--                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">-->
<!--                                    <mainClass>hello.HelloWorld</mainClass>-->
<!--                                </transformer>-->
<!--                            </transformers>-->
<!--                        </configuration>-->
<!--                    </execution>-->
<!--                </executions>-->
<!--            </plugin>-->
    </build>

</project>

modelVersion:POM 模型版本(始终为 4.0.0)。

groupId: 项目所属的组或组织。通常表现为倒置域名。

artifactId: 项目名称(例如,其 JAR 或 WAR 文件的名称)。

version : 正在构建的项目的版本。

packaging : 项目应该如何打包。JAR 文件打包默认为“jar”。WAR文件打包使用“war”。

description :项目描述 可写可不写

java.version : 项目的jdk版本

SpringBoot 自带的打包插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

继承 Starter Parent POM 将项目配置为继承自spring-boot-starter-parent,parent

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>3.1.0-SNAPSHOT</version>
</parent>

不从Parent 继承使用Spring Boot POM 可以通过使用import范围依赖来保持依赖管理(但不是插件管理)的好处

<dependencyManagement>
    <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>3.1.0-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

自动重启 重新编译应用程序时检测到更改 Spring Boot应用可以自动重启

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

在这里插入图片描述

  如果喜欢的话,欢迎 

标签:Maven,--,Spring,boot,maven,Boot,spring,org
From: https://blog.51cto.com/u_16111319/6835941

相关文章

  • SpringBoot+Vue实现校园二手系统。前后端分离技术【完整功能介绍+实现详情+源码】
    前言       这个系统基本上可以改造为其它类似的系统。后台管理基本上一致。前台进行一些页面样式的改造就可以变成一个新的系统。有时间,做几个变体系统。       闲的无聊,把大学时候做的一个系统进行了重构。将项目拆分成完全前后端分离的形式。客户端采用一套、商家......
  • SpringBoot集成日志入门
    一、日志的作用程序中的日志是记录程序的运行情况,包括用户的各种操作、程序的运行状态等信息。类似于飞机的黑匣子。二、日志的级别表:日志级别及其描述日志级别描述OFF关闭:不输出日志FATAL致命:用于输出可能会导致应用程序终止的错误ERROR错误:用于输出程序的错误(这些错误不会导......
  • spring cloud common模块更新后,需要同步更新哪些服务?
    首先common没有启动类,他里面放的是一些静态资源,公共代码。理论上是需要更新所有依赖common模块的,就是maven依赖里面引用common包的都需要更新,但是这样太麻烦了。一般可以只更新需要依赖这一变动的服务。如果有feign调用,需要更新调用方,被调用方和网关gateway......
  • 手撕博客0到1拓展-bootstrap-table
    1.默认常量信息(表)1.1.无法转换为自定义方法属性默认值描述heightundefined表格的高度classestabletable-borderedtable-hover表格的类名称buttons{}按钮,bootstraptable加载的按钮集,可自定义theadClasses表头样式''undefinedText'-'当数据为undefined时显示的字符localeund......
  • SpringBoot源码第四章-invokeBeanFactoryPostProcessors
    invokeBeanFactoryPostProcessors()实例化和调用所有BeanFactoryPostProcessorprotectedvoidinvokeBeanFactoryPostProcessors(ConfigurableListableBeanFactorybeanFactory){ PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(beanFactory,getBeanFa......
  • Spring的refresh()方法相关异常
    如果是经常使用Spring,特别有自己新建ApplicationContext对象的经历的人,肯定见过这么几条异常消息:1.LifecycleProcessornotinitialized-call'refresh'beforeinvokinglifecyclemethodsviathecontext:......2.BeanFactorynotinitializedoralreadyclosed-call'ref......
  • SpringMVC之类型转换Converter
    1.1     目录1.1      目录1.2      前言1.3      Converter接口1.4      ConversionService接口1.5      ConverterFactory接口1.6      GenericConverter接口1.6.1     概述1.6.2     ConditionalGenericConverter 接口 1.......
  • 第六章 注解式控制器详解 SpringMVC强大的数据绑定(2)
    6.6.2、@RequestParam绑定单个请求参数值@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。1.publicStringrequestparam1(@RequestParam请求中包含username参数(如/requestparam1?username=zhang),则自动传入。 此处要特别注意:右击项目,选择“属性”,打开“属性对......
  • Spring3 MVC 深入研究
    一、前言:大家好,Spring3MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3MVC了。Spring3MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。官方的下载网址是:http://www.springsource.org/download (本文使用是的spring3.0.5版......
  • 一篇告诉你什么是Spring
    阅读全文大概需要7分钟前言大多数文章讲"什么到Spring?"上来就是控制反转(IoC)或依赖注入(DI)和面向切面编程(AOP),拿着官网文档直译copy。对小白来说并不友好,看完可能还是一头雾水。下面是我利用业余时间整理的一些资料、书籍和自己的理解,致力于更容易理解方式讲Spring。[toc]什么是S......