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

相关文章

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

动手学深度学习【数据操作+数据预处理】

import osos.makedirs(os.path.join('.', 'data'), exist_ok=True)data_file = os.path.join('.', 'data', 'house_tiny.csv')with open(data_file, 'w') as f:f.write('NumRooms,Alley,Price\n') # 列名f.write('NA

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数