有人可以向我解释IntelliJ IDEA绑定Maven项目的编译,部署和打包工作流程吗?
通过IDEA的调试模式启动tomcat服务器时遇到了一些误会。例如,我有一个工件-战争档案。据我了解,当我运行调试模式时- IDEA重新编译并将更新的代码更新为war-archive。
但是打包的Maven工件会发生什么?IntelliJ会更新吗?还是我必须设置“启动前必须行Maven”选项,以确保将更改的代码上传到环境?
Intelli J不使用maven来构建项目,而是使用自己的构建过程。它使用pom文件作为项目的描述。
这意味着几件事情,如果您想在tomcat中运行时构建诸如war文件之类的工件,那么您要做的就是告诉IntelliJ在“运行/调试配置”对话框中构建war。IntelliJ将自动构建您在运行/调试配置的“部署”选项卡下指定的任何工件。因此,如果您指定爆炸战争,它将建立爆炸战争,如果您指定常规战争,它将建立定期战争。
有时人们需要运行自定义插件或构建目标,在这种情况下,您可以配置IntelliJ来运行自定义maven目标。
您还可以告诉intellIJ运行maven软件包目标,而不是构建工件。IntelliJ会将目标目录下的所有内容部署到tomcat。
重要的收获是IntellIJ正在使用两个单独的构建系统。您需要告诉每个构建系统该怎么做。并且您需要告诉IntelliJ使用哪个构建系统。导入项目后,默认情况下,IntelliJ将默认使用其自己的构建系统,除非您告诉它使用maven进行操作。
尽管IntelliJ将构建您在pom文件中指定的工件,但除非您在Maven工具窗口中单击部署目标,否则它不会做诸如将它们部署到工件库(本地或其他方式)的事情。
同样,如果您更改了pom文件并且未启用自动重新导入,则在您从maven工具窗口中单击“强制重新导入”选项之前,这些更改将不会反映在您的项目中。