使用maven和intellij idea编译java应用程序的区别

使用maven和intellij idea编译java应用程序的区别,java,maven,intellij-idea,Java,Maven,Intellij Idea,我在intellij中开发了一个java web应用程序,然后将其部署到tomcat(tomcat与intellij集成)。这是一个maven项目。 所以,通常我会这样做: 我在maven中运行包目标。然后我在intellij中运行tomcat。 或者我可能不会马上用maven打包并在intellij中运行tomcat。 那么有什么区别呢 如果我用maven打包,然后在intellij中运行tomcat,那么源代码会被编译、打包,然后部署吗?还是仅仅将maven goal产生的战争部署到tomc

我在intellij中开发了一个java web应用程序,然后将其部署到tomcat(tomcat与intellij集成)。这是一个maven项目。 所以,通常我会这样做: 我在maven中运行包目标。然后我在intellij中运行tomcat。 或者我可能不会马上用maven打包并在intellij中运行tomcat。
那么有什么区别呢

如果我用maven打包,然后在intellij中运行tomcat,那么源代码会被编译、打包,然后部署吗?还是仅仅将maven goal产生的战争部署到tomcat? 如果我不打包它,只是在intellij中运行tomcat,那么它显然是由intellij编译的。
我在这里有点困惑。

在Intellij中运行webapp之前,您不需要运行
mvn包
您可以做的是配置Tomcat服务器来运行war

在运行/调试配置中,可以指定启动前操作。 默认情况下

  • 制造完成了
  • 分解模式下的构建工件完成
如果您更喜欢使用非爆炸战争,最后一步是构建工件,而不是构建爆炸工件


您是否建议,无论我是否使用maven编译代码,每次运行tomcat时都会再次编译源代码?我注意到,如果我在代码中添加了新的Springbean,它将不会被spring接受,除非我用maven编译它。