Qingquan-Li / blog

My Blog
https://Qingquan-Li.github.io/blog/
132 stars 16 forks source link

VS Code 创建 Maven 项目 #148

Open Qingquan-Li opened 4 years ago

Qingquan-Li commented 4 years ago

环境:



在使用 VS Code 创建 Maven 项目之前,需要先安装 VS Code完成 Java 安装和环境配置


一、安装 Maven

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

——维基百科

这里使用 Homebrew 安装 Maven ,也可以从官网下载安装:https://maven.apache.org

$ brew install maven # 安装最新版 Maven
$ mvn -version # 查看 Maven 版本

maven-install


二、VS Code 安装 Java 拓展插件

在 VS Code 上安装 Java 拓展插件包:Java Extension Pack (可以不装这个插件包,只安装 Language Support for Java(TM) by Red Hat ,但是不建议这样做),安装该插件包会包含以下 4 个拓展插件:

  1. Language Support for Java(TM) by Red Hat (运行 Java 代码插件,其他插件都可不装这个必装)
  2. Debugger for Java (用作调试)
  3. Java Test Runner (用作单元测试)
  4. Maven for Java ( Maven 是在 Java 环境下构建应用程序的软件)


除此之外,还建议安装以下拓展插件:


三、创建 Maven 项目

参考:bilibili 视频 - (Windows 10)通过visual studio code 创建maven项目并使用junit进行测试


vscode-cmd-panel



vscode-cmd-panel-maven-start01



vscode-cmd-panel-maven-start02



vscode-cmd-panel-maven-start03



vscode-cmd-panel-maven-start04



vscode-maven-creating

这一步建议使用“梯子”加速,不然可能会卡在"Generating project in Interactive mode"。 关于 groupId 和 artifactId 的命名,参考:Maven项目命名规范



vscode-maven-project

如果 VS Code 终端中输出以下的类似问题:

Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.
The compiler compliance specified is 1.5 but a JRE 1.8 is used

需要在 pom.xml 中添加下面 2 行代码指定版本:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!-- 添加指定版本 -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
PGokc commented 1 year ago

同样的操作, 这样的问题是什么原因呢? 最初我以为是Maven版本太高插件不兼容的问题, 后面降到了低版本还是不行; 以下为报错信息:

/Library/apache-maven-3.8.4/bin/mvn.cmd: line 1: syntax error near unexpected token (' /Library/apache-maven-3.8.4/bin/mvn.cmd: line 1:@REM Licensed to the Apache Software Foun'ation (ASF) under one