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 panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

C++中detach的作用、使用场景及注意事项

《C++中detach的作用、使用场景及注意事项》关于C++中的detach,它主要涉及多线程编程中的线程管理,理解detach的作用、使用场景以及注意事项,对于写出高效、安全的多线程程序至关重要,下... 目录一、什么是join()?它的作用是什么?类比一下:二、join()的作用总结三、join()怎么

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA