IDEA 中 Maven 常用操作
- 1.Reload All Maven Projects
- 2.Generate Sources and Update Folders For All Projects
- 3.Download Sources and/or Documentation
- 4.Add Maven Projects
- 5.Run Maven Build
- 6.Execute Maven Goal
- 7.Toggle Offline Mode
- 8.Toggle 'Skip Tests' Mode
- 9.Collapse All
- 10.Analyze Dependencies…
- 11.Show Diagram…
- 12.Settings…
- 13.Profiles
- 14.Lifecycle
- 15.Plugins
- 16.Dependencies
当我们使用 IDEA 开发基于 Maven 的项目的时候,会发现右侧有一个 Maven,点开会有一些菜单,今天来介绍一下这些菜单的意思。
1.Reload All Maven Projects
当你对项目的 pom.xml
文件进行了更改,比如添加、删除或修改了依赖,或者进行了其他 Maven 配置的更改时,可能需要重新加载项目以应用这些变更。
使用这个功能可以重新导入和解析 Maven 项目,确保项目的配置和依赖被正确加载。这对于确保项目与 pom.xml
文件的同步非常重要。
2.Generate Sources and Update Folders For All Projects
当项目中有生成的源代码(如通过 Annotation Processors 生成的代码)或者在 IDEA 中进行了一些更改需要同步到实际文件系统时,可以使用这个功能。
生成源代码并更新文件夹是为了确保在 IDEA 中进行的任何更改都被同步到实际的源代码文件中。这对于确保构建过程中包含最新的生成代码非常重要。
例如,当使用 Annotation Processors 或其他自动生成代码的工具时,可能会生成一些额外的源代码,并且这些生成的代码不直接存储在源代码目录中,而是在编译过程中生成到特定的目录中。
举个例子,假设你使用了 Lombok 库,它是一个 Java 库,可以通过注解来简化 Java 代码的编写。Lombok 在编译时会生成一些 getter
和 setter
方法,以及其他一些常见的方法。这些生成的代码默认情况下会放在编译输出目录(例如 target/classes
)的某个位置。
如果你在 IDEA 中使用 Lombok,并在代码中使用了 Lombok 的注解,但在实际源代码中看不到生成的方法,那么可能是因为 IDEA 没有同步生成的代码到源代码目录。
在这种情况下,你可以使用 Generate Sources and Update Folders For All Projects
功能来强制 IDEA 将生成的代码同步到源代码目录。这样,你就可以在 IDEA 中看到并编辑由 Lombok 生成的代码,从而更容易理解和调试你的代码。
总体而言,这个功能通常在你使用一些自动生成代码的工具,并且想要在 IDEA 中看到或编辑这些生成的代码时非常有用。
生成的源代码(比如通过 Annotation Processors 或 Lombok 生成的代码)可能会存储在编译输出目录(例如,target/generated-sources
)的子目录中。这些生成的源代码不会直接放在源代码目录中。
因此,在使用 Generate Sources and Update Folders For All Projects
功能时,它会负责将这些生成的源代码同步到源代码目录,使得在 IDEA 中可以看到并编辑这些生成的代码。这样,你就能够在 IDEA 中更方便地查看和管理由工具生成的代码,而不必直接查看编译输出目录。
3.Download Sources and/or Documentation
当你依赖的库(JAR 文件)没有包含源代码或文档,并且你希望在 IDEA 中查看这些源代码或文档时,可以使用这个功能。
下载源代码和/或文档 是为了在 IDEA 中查看和调试库的源代码,或者阅读其文档。这对于理解库的内部实现或使用库的最佳实践非常有帮助。
4.Add Maven Projects
添加 Maven 项目,点击后选择文件夹。
5.Run Maven Build
执行选中的命令。当然你也可以双击命令直接执行。
6.Execute Maven Goal
执行 mvn
命令或自定义的命令,点击后有如下效果。
7.Toggle Offline Mode
切换离线模式,即关闭和远程仓库的链接,即版本管理工具不能提交到远程。
8.Toggle ‘Skip Tests’ Mode
跳过 maven
生命周期的测试环节。
9.Collapse All
收起下面展开的树形。
10.Analyze Dependencies…
11.Show Diagram…
12.Settings…
13.Profiles
Native Maven 插件是一个用于构建本地(native
)项目的 Maven 插件,通常用于构建使用 C、C++ 等语言编写的本地应用程序。
native
- 当激活了
native Profile
时,可能会触发使用 Native Maven 插件构建本地项目的配置。 - 这个 Profile 通常包括一些特定于本地构建的配置,比如本地编译器的设置、本地库的依赖等。
- 当激活了
nativeTest
- 当激活了
nativeTest Profile
时,可能会触发一些与本地测试相关的配置。 - 这个 Profile 可能包括本地测试所需的特殊配置,确保测试可以正确地运行在本地构建的环境中。
- 当激活了
一般用不到。
14.Lifecycle
这个一个生命周期,比如执行 mvn test
会执行 mvn compile
,执行 mvn package
会执行 mvn compile
和 mvn test
。
clean
阶段:- 目的: 清理项目,删除之前构建生成的文件。
- 命令:
mvn clean
validate
阶段:- 目的: 验证项目是否正确且所有必要的信息可用。
- 命令:
mvn validate
compile
阶段:- 目的: 编译项目的源代码。
- 命令:
mvn compile
test
阶段:- 目的: 运行项目的单元测试。
- 命令:
mvn test
package
阶段:- 目的: 将编译后的代码打包成可发布的格式,例如 JAR 或 WAR。
- 命令:
mvn package
install
阶段:- 目的: 将项目打包并安装到本地 Maven 仓库,使其可以被其他项目引用。
- 命令:
mvn install
deploy
阶段:- 目的: 将项目的构建结果复制到远程 Maven 仓库,以便其他开发者或项目可以访问。
- 命令:
mvn deploy
15.Plugins
这里就是一个一个具体的插件命令了。
16.Dependencies
在 IntelliJ IDEA 中,External Libraries
和 Dependencies
两个部分都涉及到项目的依赖,但它们有一些区别。
简而言之
External Libraries
关注项目运行时所使用的库。- 而
Dependencies
关注项目构建时所需的依赖项。
在 Maven 项目中,Dependencies
中的内容通常会包含在 External Libraries
中。