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

前言:

  • 基于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中的User.class,第二次编译时不会再生成User.class,因为User.java没有修改。)
  • 生成的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.java

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

4、Maven compile

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

5、Maven package

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

6、Maven install

  • 将包打到本地仓库;

7、Maven deploy

  • 将包打到远程仓库;

你可能感兴趣的:(Idea基础,Idea,Build,Project,maven,compile,maven,package,maven,install)