Idea 构建 Spring-Boot 开发环境

Ⅰ、Idea 开发环境构建

确保 java 环境已经配好,可以用 java --version、java、javac 等命令测试
Idea 官网下载 IntelliJ IDEA Ultimate(学生认证)
本文环境:

  • Windows 10 Version 1903
  • java 11.0.2 2019-01-15 LTS
  • Idea 2019.3.3

1-1. Idea 安装

安装选项
只需要勾选添加快捷方式,不需要勾选 右键用 Idea打开文件夹、关联类型文件用 Idea打开、将 Idea添加进 PATH。
之后暂不需要安装任何插件,一路 next,并用学生账号激活。

1-2. 创建 HelloWorld 项目

  1. 解决 Resolving Maven Dependencies 慢的问题
    将 Maven 仓库设置成阿里云镜像:
    由于使用的是 Idea 自带的 maven,需要修改 idea 安装路径下 maven 的 settings.xml 文件。
    文件位置:
    IntelliJ IDEA 2019.3.3\plugins\maven\lib\maven3\conf\settings.xml
    在 mirrors 标签之间添加代码:

    <!-- 阿里云仓库 -->
    <mirror>
    	<id>nexus-aliyun</id>
    	<mirrorOf>*</mirrorOf>
    	<name>Nexus aliyun</name>
    	<url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    

    添加完成后如图:
    maven换源

  2. 新建项目,选择Spring Initializr,其他默认。
    选择Spring Initializr

  3. 默认
    默认

  4. 选择下面两个依赖项(依赖项根据需求选择)。Web 是 spring-boot-starter-web 依赖项,该依赖是 Spring MVC 用 Tomcat 作为默认容器快速建立 Web 的一个启动项。使用 Actuator 可以进行健康监控。
    添加依赖项

  5. 填写项目名称并选择存储路径
    存储路径选择
    创建好项目之后右下角会弹出一个 maven 提示是否开启自动导入的选项卡,选择 Enabled 即可。

  6. 解决 Resolving Maven Dependencies 慢的问题
    file -> settings 选项卡下修改 maven importing 的 jvm 参数,默认为 700 多, 直接修改成 -Xms1024m -Xmx2048m
    修改jvm参数
    之后就是耐心等待,本机用了 6 min。

1-3. 添加代码运行 HelloWorld

  1. 添加代码后如图:
    添加代码
  2. 运行成功输出(run 时)
    运行成功输出
    可以看出在 8080 端口处打开了一个 tomcat,下面打开一个终端验证,结果如下:
    成功输出
  3. 可能因为 8080 端口被占用而运行失败,此时需要将占用该端口的进程关掉
    打开 win10 命令行窗口,输入 netstat -ano | findstr 8080查看 8080 端口的进程
    查看进程
    打开任务管理器,找到该进程,如果显然不重要则可以直接结束该进程
    停止该占用的进城
    再次运行程序,原来端口被占用无输出 404 的结果(下图)便被解决
    端口被占用

Ⅱ、HelloWorld 项目概览

1. pom 文件中 spring-boot-maven-plugin 的作用

spring-boot-maven-plugin
项目的 pom 文件自动添加了 spring-boot-maven-plugin 插件,在添加了该插件之后,当运行mvn package进行打包时,会打包成一个可以直接运行的 JAR 文件,使用java -jar命令就可以直接运行。
跳过测试直接打包:mvn clean package -Dmaven.test.skip
一开始在 terminal 中无法使用 mvn 命令,需要将 mvn 添加到环境变量中,在用户变量 PATH 中添加:Idea 安装目录\plugins\maven\lib\maven3\bin

使用mvn clean package -Dmaven.test.skip打包,生成的 jar 包在 target 目录下
将 Idea 中原来运行着的程序中止后,在 terminal 输入java -jar demo-0.0.1-SNAPSHOT.jar即可运行,效果和之前的一样。

2. 不使用 spring-boot-starter-parent 的做法

在原有 pom 文件基础上做如下修改:

<?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 https://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>2.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

	<!-- 在这里添加 dependencyManagement 标签,修改 parent -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.2.4.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 这里做修改 -->
                <version>2.2.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

修改完成后再次运行即可,效果和之前一样。

发布了7 篇原创文章 · 获赞 1 · 访问量 450

猜你喜欢

转载自blog.csdn.net/m0_46318517/article/details/104326277