SpringBoot pom.xml常用配置

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test</groupId>
    <artifactId>spring-boot-fastDFS</artifactId>
    <packaging>jar</packaging>
    <version>1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.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-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.csource</groupId>
            <artifactId>fastdfs-client-java</artifactId>
            <version>1.27-SNAPSHOT</version>
        </dependency>
    </dependencies>

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

</project>
<think>好的,用户问的是如何在Spring Boot中配置pom.xml。我需要详细解答这个问题,给出具体的配置示例,并解释各个关键部分的作用。同时,用户可能希望了解常见的配置项和最佳实践。首先,用户可能是刚开始使用Spring Boot,对Maven项目结构不太熟悉。他们可能想知道如何正确设置父项目、依赖管理以及常用依赖项。需要确保提供的代码示例清晰,并且解释每个部分的作用,比如spring-boot-starter-parent的作用,starter依赖的意义等。 接下来,用户可能对构建插件如spring-boot-maven-plugin感兴趣,需要说明它的用途,比如打包可执行JAR。此外,资源过滤和Profile配置也是常见需求,应该包含在示例中。然后,用户可能遇到依赖冲突或版本管理的问题,需要解释如何通过dependencyManagement来管理版本,以及排除不必要的依赖。这部分需要提供代码示例,比如排除Tomcat使用Jetty的例子。最后,用户可能关心如何优化配置,比如添加构建参数,或者处理多环境配置。因此,在相关问题中,可以引导他们了解多环境配置、依赖冲突解决、插件配置优化等。需要确保提出的问题能够覆盖用户接下来可能遇到的挑战,帮助他们进一步学习。</think>--- ### **Spring Boot POM.xml 配置详解** --- #### **1. 基础配置模板** ```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> <!-- 基础信息配置 --> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <!-- Spring Boot父级依赖(版本管理) --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!-- 项目元数据 --> <name>demo</name> <description>Demo project for Spring Boot</description> <!-- 依赖管理 --> <dependencies> <!-- 核心Web依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 开发工具(热部署) --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <!-- 测试依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!-- 构建配置 --> <build> <plugins> <!-- Spring Boot Maven插件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> <!-- 资源过滤配置 --> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> <!-- Profile配置示例 --> <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <spring.profiles.active>dev</spring.profiles.active> </properties> </profile> </profiles> </project> ``` --- #### **2. 关键配置解析** 1. **Parent POM** ```xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.5</version> </parent> ``` - 提供默认的依赖版本管理 - 包含预定义的Maven插件配置 - 自动资源过滤(application.properties处理) 2. **Starter依赖** ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` - `starter-web`包含Tomcat + Spring MVC - 其他常用starter: - `spring-boot-starter-data-jpa` - `spring-boot-starter-security` - `spring-boot-starter-actuator` 3. **构建插件** ```xml <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> ``` - 支持`mvn spring-boot:run` - 打包可执行JAR(包含依赖) - 生成启动类清单文件 --- #### **3. 高级配置示例** 1. **依赖排除** ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency> ``` 2. **自定义属性** ```xml <properties> <java.version>17</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <lombok.version>1.18.28</lombok.version> </properties> ``` 3. **构建参数优化** ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <parameters>true</parameters> <compilerArgs> <arg>-Xlint:unchecked</arg> </compilerArgs> </configuration> </plugin> </plugins> </build> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值