eclipse 中Maven项目 的maven install 、build 、clean

MyBatis-Plus雪花算法实战:原理、配置与分布式ID生成解决方案 在分布式系统架构中,生成全局唯一标识符(ID)是保障数据一致性与系统可扩展性的基础技术。其核心原理在于设计一种能在多节点环境下避免冲突的生成机制,常见方案包括UUID、数据库序列以及雪花算法等。雪花算法因其结合时间戳、工作机器ID和序列号的位结构设计,在保证全局唯一性的同时,实现了ID的趋势递增,这对数据库索引优化和高并发写入性能具有显著价值。该技术广泛应用于分库分表、微服务链路追踪、高并发业务流水号等场景。本文聚焦于MyBatis-Plus框架对雪花算法的集成实现,深入解析其位结构、默认配置,并针对分布式 阅读详情

自己在对maven项目打成war包的时候,首先是maven clean,之后maven build的时候出现报错,说找不到该项目下的target 文件 (具体的英文我就不复制了),自己倒腾了好长的时间,最后maven  install一下皆可以了,自己感到很纳闷,自己之前就没有对maven做深入的了解,只是平常的引用个jar包,打个war包什么的,出现这个情况当时真的是很令我抓狂,所以就可以的上网查了查,针对上面的问题做了总结,以供你我他查看:


标准的Maven项目包层次结构:

-Project

--src/main/java

--src/main/resources

--src/test/java(如果是用-DskipTests,那么也会编译这些测试类,但是如果勾选Skip tests则不会)

--src/test/resources(如果是用-DskipTests,那么也会编译这些资源文件,但是如果勾选Skip tests则不会)




上面是对在eclipse中运用该命令的说明;

1、maven clean 是清除target目录下的之前打好的jar包或者是war包;

2、maven build是重新对该maven项目进行打包,这里需要手动的输入打包的命令   -X package

上面的两部命令合在一起 maven install是对上面两个命令的集合,既是通过maven自带的原生命令,同时执行了clean 和build,比较节省时间;

那么问题就来了当时为什么我单独执行会出错呢,这就可以说明 maven 对eclipse外带的插件执行命不友好;

下面是一个大神的另一个问题的总结;

之前写代码的过程中曾经遇到过问题,用mvn install后,新改的内容不生效,一定要后来使用mvn clean install 才生效,于是想看看clean和不clean的区别。


就如大家知道的,maven在执行一个生命周期的命令的是时候将会执行之前的所有生命周期操作,比如执行mvn install,会执行前面一系列的动作包括 compile , package , test 等,具体请查看maven的官方文档。这个特性使maven的命令更加简洁易用。

再来分析原来的问题,为什么修改的内容不生效,肯定是最终打出来的war包中的内容没有更新,而war包中会依赖其他子工程的jar包,如果jar 包没有更新过,那war包调用老的jar包也会导致新内容不生效。定位到问题的原因应该是jar包没有用最新的资源(java或者配置文件),那jar包 又是什么时候,谁去打的呢。

上面我们提到我们执行mvn install的时候会先执行mvn package,maven就是通过这个生命周期来根据用户配置,进行打包(war、jar或者其他),这会在每个工程 pom.xml 文件中设置,类似如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd">

  ...
  <packaging>war</packaging>
  ...
</project>

这里指定package的时候打成一个war包,改成jar,就会被打成jar包。

我们看jar形式的情况,mvn package 会调用 maven-jar-plugin 这个插件进行打包。
下面我们做一些实验来看这个插件打包的时候的情况

1. 修改target目录下打好的jar包中class以及配置文件的内容,在运行命令mvn package,结果target包中的内容没有被覆盖。
2. 修改源代码中的内容,再运行命令mvn package,结果target包中的内容被覆盖了,产生了新的包。
3. 修改target目录下打好的jar包中的内容,运行命令mvn package -Djar.forceCreation,这个参数应该是强制创建jar包,所以结果target中的jar包内容被覆盖了,产生了新的jar包。

根据上面的实验好像还是不能解释什么时候应该用clean将target下面的内容删除重新生成,jar包,不过至少是明白了一些规则。

总结
1. 理论上来讲不做mvn clean 得到的jar包应该是最新的,除非其他方式修改jar包中的内容而不修改源代码。
2. 平时可以用mvn install,而不进行chean节省时间(如果你觉得节省时间多的话),但最保险还是用 mvn clean install 生成最新的jar包或其他包
3. 不想用mvn clean又想保证jar包最新,建议添加 -Djar.forceCreation 参数

关于maven 你想知道的一些知识 1.maven 中各命令的含义: clean:有问题,多清理! package:打成Jar or War包,会自动进行clean+compile install:将本地工程Jar上传到本地仓库 deploy:上传到私服 2. dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)。 dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,.. 阅读详情

相关推荐

在eclipse 中配置MAVEN

在eclipse中配置MAVEN

usertest1的博客 3755

eclipse中安装Maven

Help-->Install New Software,输入地址:http://download.eclipse.org。找到Maven中的conf下的setting.xml配置文件,添加具体位置。点击User Setting,选择User Settion,添加Maven中的setting配置。检查安装结果:window--> Preferences。配置Maven环境变量:(和jdk配置一样的操作)(和jdk安装要求一样)打开cmd,输入:mvn -version。eclipse在线安装Maven。

致力于不留技术债务cuizb.top 556

搞定汽车座椅电机EMC超标:一个PCB滤波板的实战设计与避坑心得

本文详细介绍了汽车座椅电机EMC超标问题的解决方案,通过PCB滤波板的实战设计,解决了传导发射测试超标问题。文章分享了在空间受限条件下的滤波电路架构设计、接地系统优化及迭代验证过程,为汽车直流电机的EMC整改提供了实用方法论。

weixin_30336061的博客 369

eclipse使用maven总结

eclipse使用maven教程 文章目录 eclipse使用maven教程 0.什么是maven 1.maven下载与安装与配置 1.1下载 1.2安装 1.3配置环境变量 2.在eclipse中配置 2.1 m2eclipse安装 2.2配置eclipse 3创建一个maven项目 3.1项目的结构 3.2Eclipse中maven常用的命 3.3使用maven命令 0.什么是maven ..

ShyTan的博客 1077

保姆级避坑指南:在Ubuntu 22.04上从零编译Autoware.universe(含ROS2 Humble和CUDA配置)

本文提供了一份详细的Autoware.universe编译指南,涵盖Ubuntu 22.04系统优化、ROS2 Humble安装避坑、CUDA配置及Demo运行技巧。通过分步操作和实战经验,帮助开发者高效完成环境搭建,避免常见错误,提升自动驾驶开发效率。

weixin_30642561的博客 344

3DMax高效建模与人工智能:一场颠覆传统创作的效率革命

AI与3DMax的结合,不仅是工具效率的升级,更是一场创作范式的革命。从“手动雕刻”到“智能共生”,设计师的角色正从执行者转向决策者。正如网友所言:“AI不是替代人类,而是赋予凡人以神笔。”在这场变革中,唯有拥抱技术、深耕创意,方能在数字艺术的浪潮中立于潮头。参考文献与工具推荐技术原理:火星时代资讯《人工智能和三维建模》工具实测:哔哩哔哩《tyDiffusion 3dsMax应用》9、Tripo AI官网教育案例:原创论文《人工智能技术介入三维动画课程建设》

m0_46478534的博客 2988

maven自带clean_eclipse 中Maven项目 的maven install 、build 、clean

1、maven clean 是清除target目录下的之前打好的jar包或者是war包;2、maven build是重新对该maven项目进行打包,这里需要手动的输入打包的命令 -X package上面的两部命令合在一起 maven install是对上面两个命令的集合,既是通过maven自带的原生命令,同时执行了clean 和build,比较节省时间;那么问题就来了当时为什么我单独执行会出错...

weixin_39902508的博客 877

优化Cartographer重定位速度:从子图筛选到参数调优的完整思路

本文详细介绍了优化Cartographer重定位速度的完整方法,从子图筛选到参数调优,帮助工程师在已知初始位姿的前提下将重定位耗时降低50%以上。重点分析了性能瓶颈、子图筛选策略、匹配算法选择及环境自适应的参数优化策略,并通过实战案例展示了显著效果提升。

weixin_28704565的博客 458

haidi mysql,【Maven】Eclipse中Maven项目Maven build、build...、clean、install、test的含义

[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ ysx ---[INFO] Surefire report directory: /Users/haidiyixiaoyu/eclipse-workspace/ysx/target/surefire-reports-------------------------------...

weixin_29056781的博客 86

【PLC】三菱plc控件安装 component Movedata had the following error ... Error Number:-119

Windows 10 专业版/企业版本版本号:22H2操作系统内部版本:19045.3448。

少莫千华 7988

[Dify实战] 招投标标书智能生成:模板套用 + 风险校验

摘要:本文提出基于Dify构建AI标书生成工作流,解决传统标书撰写中内容重复(80%复用率)、人工修改效率低、风险检查易出错等痛点。方案包含三大核心模块:1)智能生成(基于模板自动填充项目信息);2)风险校验(AI自动检查废标风险点);3)多角色协作。通过拆分标书结构、设置详细Prompt、建立风险检查清单,实现从"人工撰写"到"参数化自动生成+AI审核"的转型,最终输出标准格式文档并支持企业系统集成。典型应用场景下,系统能自动生成技术方案并识别关键风险(如支付安全合

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 819

maven 打包报错,maven clean,build,install 区别

spring mvc 项目使用maven进行打包时,真的是报错一堆呀,之前实习的时候打包一般都是在控制台直接 mvn clean package 的,sts工具里面,右键项目,Run As -> maven build ,报错,什么utf-8编码问题啦,什么包找不到了,关键是我的编码设置的好好的,全部改成了utf-8,maven build 之后项目里所有的 中文 都乱码了。很是苦脑。 后来我又maven clean 了,然后maven install ,没用maven build,没想到竟然成功了,

begefefsef的博客 1041

H3LIS200DL三轴加速度传感器原理图设计,已量产(加速度传感器)

在最近的工业振动监测项目里,我们选了 ST 的 H3LIS200DL 做核心传感器 —— 这颗料的特点太契合场景了:±100g/200g 的大量程刚好覆盖设备冲击与振动的测量需求,10μA 的超低功耗能适配电池供电的边缘节点,0.5Hz 到 1kHz 的输出速率也足够抓准动态信号。下面结合实际画的原理图,拆解下这个硬件电路的设计思路。

不脱发的程序猿 328

关于maven,eclipse,tomcat的clean

eclipse: clean build eclipse的这两个操作是将你当前编写的代码进行编译,编译到工作空间,clean是将编译的代码清除。     作用于eclipse工作空间里的.class文件 tomcat:clean publish tomcat的这两个操作是将你的代码从tomcat中清除和将编译好的代码发布到tomcat中   例:我见了一个Hello.java的类,然后我p

Just do it! 2721

Android Binder——数据传递载体(二十一)

同一进程间的对象传递都是通过引用来做的,因而本质上就是传递了一个内存地址。而跨进程采用了虚拟内存机制,两个进程都有自己独立的内存地址空间,所以跨进程传递的地址值是无效的。进程间的数据传递是 Binder 机制中的重要一环,Android 系统中担负这一重任的就是 Parcel。Parcel 是一种数据的载体,用于承载希望通过 IBinder 发送的相关信息(包括数据和对象引用)。正是基于 Parcel 这种跨进程传输数据的能力,进程间的 IPC 通信才能更加平滑可靠。

小旭的专栏 568

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Eclipse中带有第三方依赖的Maven项目打包方式

Eclipse中带有第三方依赖的Maven项目打包方式 最近正在学习流式计算系统,测试阶段在跑本地模式时需要将Flume、Kafka以、Storm以及Redis整合到一个Java项目中,于是乎在Eclipse中整了个Maven项目,加入了各种依赖包,但是因为之前在做分布式离线计算系统都是把依赖包直接整合成一个自定义的外部依赖库(User Library),然后直接用编辑器自带的打包指令直接打包,...

Ἥλιος 1068

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

eclipse中maven项目使用clean,bulid,install以及项目使用ueditor的问题

eclipse中maven项目使用clean,bulid,install以及项目使用ueditor的问题 ##概述 在eclipse中搭建maven项目的时候,选中项目名右键Run as 会看到一系列maven开头的命令。 maven clean 点击此选项相当于执行了mvn clean命令,清除之前打包的jar包或者war包,存在于target目录下。点击此选项相当于执行了mvn clea...

weixin_43712788的博客 5688

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

eclipse中的maven build、maven clean、maven install和maven test的区别

eclipse中的maven build、maven clean、maven install和maven test的区别 https://www.cnblogs.com/Marydon20170307/p/9928241.html 转载于:https://www.cnblogs.com/yuyu666/p/10049853.html

weixin_30598225的博客 291

Maven Build、Clean、Install指令

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33935505的博客 539

Eclipse中的Maven build

笃信好学,自然宽和: Eclipse:4.5.1 新建->其他->Maven->Maven Project,原型选择maven-archetype-quickstart; 新建Maven项目后,项目右键->运行方式,选择Maven build; 以下是部分常用Goals命令: clean 清除编译; compile 编译; test 编译并测试; install 打包并发送到本地仓库; package 打包成jar包,不会发送到本地仓库; ...

m0_55613022的博客 839

(3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar

Eclipse中创建Maven项目 new ---> maven project ----> next 如下 普通java项目 选择 如下 quickstart 创建项目 : 输入 Group Id 域名倒置 目录Artifact Id 模块项目名version 不用改 以上三个要素为 Maven的坐标 唯一确定一个模块 项目创建完成如...

weixin_34239169的博客 198

Maven & Eclipse

1 在eclipse中运行maven工程 右键单击工程中的pom.xml文件,选择"Run As"可以选择相应的选项,如Maven buid,Maven clean, Maven install等,如下图: 运行特定的goals时: 选择第二项“Maven buid...”,在Goasl中输入要运行的目标即可,如下图:

songuo' s home 404

maven项目启动以及一些问题总结

1.maven插件安装 点击Help -> Install New Software ------>Add button (右上角),名字输入:M2Eclipse 地址输入:http://download.eclipse.org/technology/m2e/releases" 或者 http://download.eclipse.org/techno...

qq_38642745的博客 529
上一篇: eclipse配置反编译插件
下一篇: 基于token的WEB认证机制
liangwanmian
博客等级 码龄9年 26粉丝 20原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值