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