Maven Update Project时勾选上 Force Update of Snapshot是什么意思

Maven的使用方法理解

在开发Web项目(Maven构建)时,本地使用tomcat运行时经常会遇到一些问题导致启动失败,比如ClassNotFoundException、NoClassDefFoundException、找不到jar包等等。有些时候我们啥也不想的一顿猛操作:project-clean、tomcat-clean、maven-clean、maven-update project 全都给执行一下,诶,居然正常启动了。那么这些操作到底起到了什么作用呢?
下面我以以Eclipse开发Maven项目为例,解释一下project-clean、tomcat-clean、maven-clean、maven-update project的功能。

一、project-clean

操作:点击eclipse菜单栏的“project”–“Clean”
在这里插入图片描述

  1. 其作用已经在这个面板中说明了:“Clean将丢弃所有编译问题和编译状态。下一次编译发生时,项目将从头重新编译。”
  2. 可选择某些项目,也可选择“Clean all projects(Clean所有项目)”
  3. 同时,在底部的选框“Start a build immediately(立即开始编译)”可选择“Build the entire workspace(编译整个工作区)”或者“Build only the selected project(只编译选定的项目)”。
  4. 简而言之:Clean会删除之前编译的所有class等文件,以便重新编译;虽然平时我们一般会勾选“project”–“Build Automatically”,即当java文件的时间戳改变时立即重新编译该文件,但有些时候正是因为重新编译的机制导致未能及时编译增java文件或是新引入的jar文件,导致“ClassNotFoundException、NoClassDefFoundException”,此时就需要执行Clean操作,让eclipse对其进行一次重新编译。

二、tomcat-clean

操作:右键eclipse下面Servers中的tomcat,选择“Clean”
在这里插入图片描述
意思是:Clean将放弃所有发布状态,从头开始重新发布。确实要清除所有已发布的资源吗?
简而言之:tomcat启动之前都会将其下面的工程进行publish(发布),有时候代码修改了,重启tomcat却发现没有变化(或是因为旧代码资源未被替换导致的项目无法启动),这时很有可能是因为tomcat上面的旧程序未能及时清理,此时就需要执行该操作,让tomcat清理所有已发布的资源再重新发布该项目。

三、maven-clean

操作:右键Maven项目,“Run As”-“Maven clean”

项目下面的targe目录将被清理,之前打包的jar、war文件被删除,其他文件重新生成。

应用场景:一般来讲利用maven打包时,会自动执行该步骤,但有时候clean并未成功,打包的文件可能并没有覆盖以前的旧文件。这样就导致修改程序后重新打包,功能却没有改变,那么此时就需要手动执行该操作,然后再重新打包。

四、maven-update project

操作:右键Maven项目,“Maven”-“Update Project”
在这里插入图片描述

  1. 中间部分可勾选需要Update的项目。
  2. 右侧可以点击“Add out-of-date”选择所有过期的项目,同时下文第一行也会有过期项目的提示,点击“Click here”也可勾选所有需要更新的项目。
  3. 下文可勾选项的解释

(1)Offline。线下的,勾选后update操作不会从maven远程仓库去查找要更新的jar包,而是从maven本地仓库查找pom.xml中配置的jar包以更新到项目。

(2)Force Update of Snapshots/Releases。强制更新Snapshots/Releases依赖,个人理解为“即使pom.xml文件没有发生变化,也会更新项目中的maven依赖jar包”。

(3)Update project configuration from pom.xml。从pom.xml更新项目配置。

(4)Refresh workspace resources from local filesystem。从本地文件系统刷新工作区资源。

(5)Clean projects。个人理解为功能“同一、project-clean”。

总结:让maven重新生成或修改相关文件,比如新增或修改的pom.xml依赖jar包、工程下的.classpath文件、工程下的.project文件等。

发布了22 篇原创文章 · 获赞 27 · 访问量 5642

猜你喜欢

转载自blog.csdn.net/k_love1219/article/details/102255282
今日推荐