project-clean、tomcat-clean、maven-clean、maven-update project 这些操作有什么作用

2024-05-08 17:58

本文主要是介绍project-clean、tomcat-clean、maven-clean、maven-update project 这些操作有什么作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       在开发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”。

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

 

一些理解为个人观点,欢迎批评指正,不胜感激!

 

这篇关于project-clean、tomcat-clean、maven-clean、maven-update project 这些操作有什么作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/971025

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from