【开发环境】VSCode 浅尝 Java17 + Maven + SpringBoot3

1,701 阅读4分钟

期望

  • 提供另一个角度理解 Java 环境配置

  • 减少 VSCode 使用者 (尤其是前端开发)学习或尝试 Java 时的编辑器切换成本

  • 提供使用 VSCodeJava 开发或者临时开发的可能途径

  • 加强初级开发人员对相关工具和配置的理解

环境安装

Java 环境

作为演示,以 Java17 为例

  1. 官网 下载

    image-20230417141522918.png

  2. 解压到指定目录

  3. 设置环境变量

    image-20230417142953941.png

    如果你对设置环境变量相关存在疑惑

    欢迎参考 【开发常识】以 win11 为例介绍环境变量

    4.验证安装

    java --version
    

VSCode 配置

  1. 建立一个文件夹,作为一个 Java 项目的根目录,并在此打开 VSCode

  2. 从扩展商店,下载 Extension Pack for Java 插件并安装

    image-20230417152947119.png

  3. 在目录中, 编写一段最简单的 Java 代码

    class QuickStart {
      public static void main (String[] args) {
          System.out.println("Hello, World.");
      }
    }
    
  4. 尝试 Run | Debug 代码, 以了解面板

    image-20230417153854564.png

Maven

通过上述安装,我们可以编写和运行单文件 Java 代码了。而实际开发中,项目目录的组织是规范化的,且有各种依赖。

概况

Maven是一个基于Java的项目管理和构建工具,它能够自动化构建、测试和部署Java项目。Maven提供了一种规范化的项目结构和一系列的构建规则,可以帮助开发者轻松地管理项目依赖、构建、文档生成、测试等工作。

Maven的核心概念是“坐标”(Coordinate)、“依赖”(Dependency)、“插件”(Plugin)和“仓库”(Repository)。

  • 通过定义坐标和依赖关系,Maven可以自动下载所需的依赖库并将其集成到项目中。

  • 插件则提供了各种构建任务,如编译、打包、测试、部署等。

  • 仓库则是存储依赖库和插件的地方,Maven会自动从仓库中下载所需的文件。

安装

  1. 官网 下载

    image-20230417160342414.png

  2. 解压到指定目录

  3. 设置环境变量

    image-20230417160830953.png

  4. 验证安装

    mvn --version
    

Hello World

接下来我们使用 mvn 建立最简单的项目工程。

  1. 打开终端或命令行窗口,进入到你想要创建项目的目录中

  2. 执行以下命令来创建一个简单的 Maven 项目

    mvn archetype:generate -DgroupId=com.example -DartifactId=hello-world -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    上面的命令中,-DgroupId 参数指定项目的 Group ID

    -DartifactId 参数指定项目的 Artifact ID

    -DarchetypeArtifactId 参数指定使用的 Maven Archetype

    这里我们使用了 maven-archetype-quickstart,它是一个创建简单 Java 项目的 Archetype

    -DinteractiveMode=false 参数表示使用默认配置,不需要进行交互式配置

  3. Maven 将会创建一个名为 hello-world 的项目,并在其中生成一些示例代码,包括一个名为 App.java 的 Java 类和一个名为 pom.xml 的 Maven POM 文件

  4. 配置 Maven 编译器插件,以支持使用 Java 17 进行编译

    <!-- pom.xml -->
    <project>
      <!-- 其他配置 -->
        <build>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.1</version>
              <configuration>
                <release>17</release>
              </configuration>
            </plugin>
          </plugins>
        </build>
      <!-- 其他配置 -->
    </project>
    

setting.xml

mirror

Hello World 中的 mvn 命令可能会由于网络原因,不能正常执行。

则需要我们配置 maven 仓库镜像地址:

  1. 打开 maven 资源目录 %MAVEN_HOME%conf/settings.xml

  2. mirrors 标签对中添加 mirror

    <mirrors>
        <!-- ... -->
        <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <!-- 哪些仓库的请求会被重定向到这个镜像 -->
          <mirrorOf>*</mirrorOf>
          <url>	https://maven.aliyun.com/repository/public</url>
        </mirror>
        <!-- ... -->
    </mirrors>
    
  3. 为保证编辑器也能正确找到配置文件,在 VSCode 中的 setting.json (首选项 => 设置 => 打开设置json ) 添加配置:

    {
         "java.configuration.maven.userSettings": "[YOUR_MAVEN_HOME]\\conf\\settings.xml",
    }
    

    其中 [YOUR_MAVEN_HOME] 需要替换成,你的 MAVEN_HOME 绝对路径

  4. 配置完成,可重新执行相关命令

localRepository

你还可以在 ,在 setting 标签对中添加 localRepository,来修改 mvn 依赖下载到的路径

<setting>
    <localRepository>E:\mavenResp\repository</localRepository>
</setting>

编辑器界面

image-20230418103420479.png

  • Run | Debug 功能可用

  • 资源管理器中 MAVEN 视图中,可以快捷执行命令和查看信息

  • 执行命名,正常工作

    image-20230418104200875.png

  • crtl + shift + p => Create Maven Project 可根据编辑器指引生成项目模板

    image-20230418111718576.png

    它最终也将调用 mvn archetype:generate

Spring

Spring 是一个流行的Java应用程序开发框架,它提供了一套完整的解决方案来开发企业级应用程序。

是实际 java 开发中,最常用的框架之一。

接下来我们使用编辑器生成一个 Spring 框架,并尝试使用:

  1. crtl + shift + p => Create Maven Project

  2. 搜索 spring3 点击 More...

    image-20230418113614146.png

  3. 选择版本 1.0

  4. 在控制台输入额外信息 无脑回车/y

  5. 选择项目文件夹

  6. 使用编辑器打开,对应目录

    为确保编辑器插件更好的工作,推荐以 pom.xml 存在的根目录,作为编辑器工作路径。

    编辑器打开项目,会加载项目相关依赖。如果,发现 import xxx 一直报错说未找到。可以尝试重启编辑器,等待重新加载。

  7. 运行 Application

    image-20230418121126514.png

  8. 打开对应 url,查看输入

    image-20230418131904332.png

  9. 开始快乐地写代码

毫无疑问,VSCode 强大的开源生态,是令人着迷的。

然而,就 Java 集成开发环境来讲,它还有很远的路要走。笔者在探索其对 Java 周边生态(如 KotlinGroovy) 的支持时,就感觉到了相当的无奈。

但它仍然是最开放、最包容的编辑器。它的成功离不开,诸多插件工作者的努力。

但愿有一天,我们使用它,不再有犹豫,不论语言。