IDEA面板Build Project和maven compile、package、install、deploy的区别

时间:2025-02-15 09:34:49

前言:

  • 基于springboot项目
  • IDEA面板Build下面的Project build和Maven compile、package、install、deploy比较
     

1、Build Project(Ctrl+F9)

  • 编译项目,生成字节码文件;
  • 生成的target中有classes、generated-sources、generated-test-sources、test-classes目录;
  • 第一次点Build Project会编译整个项目包括测试类,第二次点Build Project只会编译修改的文件;(eg:删除第一次编译target中的,第二次编译时不会再生成,因为没有修改。)
  • 生成的target中没有jar包;
  • generated-sources是在pom中配置maven插件,点击Maven—Plugins—archetype:create-from-project可以生成源代码的派生项目;
<!--配置资源打包方式-->
   <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-archetype-plugin</artifactId>
       <version>3.2.0</version>
   </plugin>

2、Build Module(Ctrl+Shift+F9)

  • 单独编译一个模块,但如果该模块中有依赖其他模块,则编译失败;

3、Recompile

  • 重新编译,但需要鼠标选中User类;

4、Maven compile

  • 编译项目,生成字节码文件;
  • 生成的target中有classes、generated-sources、maven-status目录;
  • 每次都是重新编译;(eg:删除第一次编译target中的,第二次编译时会再生成,不论有没有修改。)
  • 生成的target中没有jar包;
  • maven-status目录里面有和inputFiles,里面是全路径字节码文件和全路径类文件;

5、Maven package

  • 编译项目,生成jar包;
  • 生成的target中有classes、generated-sources、generated-test-sources、maven-archiver、maven-status、surefire-reports、test-classes、jar文件等目录;
  • 每次都是重新编译打包;(eg:删除第一次编译target中的,第二次编译时会再生成,不论有没有修改。)
  • 生成的target中有jar包;

6、Maven install

  • 将包打到本地仓库;

7、Maven deploy

  • 将包打到远程仓库;