VS Code 中的 Java 构建工具
本文档概述了如何在Visual Studio Code中使用Java构建工具。它涵盖了Maven for Java和Gradle for Java扩展以及其他工具。
如果您在使用以下功能时遇到任何问题,可以通过提交一个issue来联系我们。
Maven
Maven 是一个帮助您管理 Java 项目并自动化应用程序构建的软件工具。Maven for Java 扩展为 Visual Studio Code 提供了完全集成的 Maven 支持,允许您探索 Maven 项目、执行 Maven 命令并执行构建生命周期和插件的目标。我们建议安装 Extension Pack for Java,其中包括 Maven 支持和其他重要的 Java 开发功能。
探索Maven项目
一旦加载了Maven项目,扩展将被激活,并会自动扫描工作区中的pom.xml
文件,并在侧边栏中显示所有Maven项目及其模块。
解决未知类型
Maven 扩展还支持搜索 Maven Central 以解析源代码中的未知类型。您可以通过选择悬停时显示的解析未知类型链接来完成此操作。
使用 POM.xml
该扩展提供了基于本地Maven仓库的代码片段和自动补全功能,用于添加Maven依赖项。看看使用这些便捷功能向您的pom.xml
添加新依赖项是多么容易。
该扩展还使您能够生成有效的POM。
你也可以使用命令Maven: 添加依赖(或maven.project.addDependency
)来帮助向pom.xml
添加新的依赖。这个过程是交互式的。
您也可以通过项目视图添加依赖项,这会调用相同的Maven命令。
此外,VS Code 还支持以树状视图显示依赖关系,这使您可以在一个地方检查项目中的所有依赖关系并检查潜在问题。
执行 Maven 命令和目标
通过在资源管理器中右键单击每个Maven项目,您可以方便地运行Maven目标。
该扩展还保留了每个项目目标的历史记录,因此您可以快速重新运行之前的命令,这在运行长时间的自定义目标时非常有用。
有两种方法可以重新运行目标:
- 在命令面板中,运行Maven: History,然后从历史记录中选择一个项目和一个命令。
- 右键点击一个项目并选择历史记录。然后您可以从历史记录中选择一个之前的命令。
您还可以在设置中指定您喜欢的命令以供将来执行。
对于您项目中使用的每个插件,该扩展还为您提供了一种简单的方法来访问每个插件中的目标。
要调试Maven目标,请右键单击目标并开始调试。Maven扩展将使用正确的参数调用Java调试器。这是一个方便且节省时间的功能。
从Maven原型生成项目
此扩展提供的另一个便捷功能是从Archetype生成Maven项目。该扩展加载本地/远程目录中列出的原型。选择后,扩展将mvn archetype:generate -D...
发送到终端。
有几种方法可以创建一个Maven项目:
-
从Maven资源管理器中,选择+ 创建Maven项目按钮。
-
打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)), 搜索创建Java项目命令。
-
右键点击目标文件夹并选择创建Maven项目。
Gradle
VS Code 通过 Gradle for Java 扩展支持 Gradle Java 项目(不包括 Android)。此扩展提供了多个组件来增强您的 Gradle Java 项目体验:
- Gradle 构建服务器: Gradle 构建服务器 用于导入 Gradle 项目并将构建任务委托给 Gradle 守护进程,确保项目输出与从命令行运行 Gradle 任务时一致。
- 可视化界面: 允许您在VS Code中查看和管理Gradle任务和项目依赖关系,并直接运行Gradle任务。
- Gradle Language Server: 提供改进的Gradle构建文件编写体验,包括语法高亮、错误报告和自动补全。
Gradle 构建服务器
默认情况下,如果您已安装Gradle for Java扩展,则使用Gradle Build Server来导入Gradle项目。您可以通过设置java.gradle.buildServer.enabled
来开启或关闭Gradle Build Server。
您可以在Gradle构建服务器的构建输出通道中查看Gradle构建输出,并在Gradle构建服务器的日志输出通道中跟踪VS Code与Gradle构建服务器之间的交互。
将测试委托给Gradle
该扩展支持将测试执行委托给Gradle。您可以在测试资源管理器中配置要使用的测试配置文件。
注意:确保您已安装Test Runner for Java扩展以使用此功能。
使用Gradle任务
当你在VSCode中打开一个Gradle项目时,你可以通过点击Gradle侧边栏项目找到一些有用的Gradle视图。Gradle项目视图列出了工作区中所有找到的Gradle项目。你可以在这里查看、运行或调试Gradle任务。
当工作空间中有许多Gradle任务时,可能很难找到特定的任务。该扩展提供了一个固定任务视图,帮助您固定您喜欢的任务,以便您可以在单独的视图中轻松找到它们。您还可以在最近任务视图中查看最近执行的任务。
查看 Gradle 依赖项
在Gradle Projects视图中,您可以在每个Gradle项目项下找到一个Dependencies项。它包括您指定配置中的所有依赖项,您可以轻松检查项目的依赖状态。
管理 Gradle 守护进程
Gradle 守护进程视图显示了当前工作区的守护进程状态。它列出了与工作区版本相同的所有正在运行的 Gradle 守护进程。您可以选择在此视图中停止特定的守护进程或所有守护进程。
编写构建文件
该扩展提供了一些有用的创作功能,适用于Gradle构建文件。
当打开一个Groovy Gradle文件时,扩展将分析Gradle文件并提供语义标记信息,从而提供更精确的高亮显示结果。
在大纲视图中,扩展提供了打开的Gradle文件的文档符号,这可以帮助您轻松导航到文件的任何部分。
如果在打开的Gradle文件中存在任何语法错误(缺少字符、类型未找到等),您可以在问题视图中找到它们。
该扩展支持对Gradle文件的基本自动补全功能,当您尝试在Gradle脚本中输入Gradle闭包或属性时,扩展将为您建议可用的闭包或属性。
当你尝试声明一个新的依赖项时,扩展将为你提供一个依赖项候选列表。
额外资源
访问Maven扩展的GitHub仓库以获取更多配置和故障排除指南。
除了Maven之外,如果你使用Bazel来构建和测试你的项目,还有一个Bazel扩展。
下一步
继续阅读以了解更多关于:
- Java editing - 探索VS Code中的Java编辑功能。
- Java debugging - 了解如何使用 VS Code 调试您的 Java 项目。
- Java testing - 使用 VS Code 进行 JUnit 和 TestNG 测试。
- Java extensions - 了解VS Code中更多有用的Java扩展。