Maven的总结经验

11、气动外形优化中的连续伴随方法 本文探讨了连续伴随方法在气动外形优化中的理论背景、实现和验证过程。通过使用DLR的FLOWer求解器,将伴随方法应用于Euler和Navier-Stokes方程,以高效计算成本函数梯度,从而显著减少优化过程中的计算成本。文章还介绍了该方法在RAE2822翼型和ONERA M6机翼等案例中的应用,并展示了其准确性和效率。未来展望包括扩展到复杂流动模拟和多学科优化。 阅读详情

 

概述

日常开发中,我们用到的maven相关功能大概以下几种:
1、 管理jar依赖
2、 构建项目(打包、编译等)
3、 发布项目(共享、上传至服务器,供他人使用)

简单介绍:

1、管理依赖

jar一般在pom.xml文件的中配置,以spring core为例,一般格式如下:

<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-core</artifactId>
     <version>4.1.1.RELEASE</version>
</dependency>

其中groupId一般为项目(jar war pom等)的发布机构名称;
artifactId为项目名称;
version为项目版本;
在项目编译打包的时候,ide会自动到maven仓库去查找相应的jar文件,打包并存放在项目的相应路径下(如web项目的lib目录下)
(关于依赖的各个名称和写法,请见后文:详细说明–依赖说明)

2、构建项目:

这里所说的构建项目主要指打包、编译、运行测试用例等操作,即maven的生命周期中的打包过程。
最常用的就是compile了,一般项目修改代码以后都要重新编译,然后加载到tomcat中运行调试。
其它的还有clean、package等比较常用的操作,请见详细说明–生命周期部分

3、发布项目:

如果我们写一些通用框架,或者自己封装了一些常见的工具类,想要打包为jar并且供他人使用,那么我们可以通过maven发布到公共仓库(私服)供他人下载依赖使用。
比如每个公司都会有自己的框架,持久层、控制层或者其它功能等。当我们没有使用maven的时候,我们是直接把别人的jar拷贝到项目的library目录下,而现在我们有了maven就不用自己到处拷贝jar包了,只需要在发布的时候找到别人发布到仓库时候写的groupId artifactId version等信息就能直接添加依赖了,也就是相当于第一步的依赖管理。

4、多模块

maven实际上通过多模块的思想来组织依赖的,每一个项目或者jar都是一个模块,我们可以把一些通用的,不常变动的东西写在一些指定的模块下,在另外一个项目中引用依赖(这里就有点类似【1、依赖管理】,这样一来可以让项目结构更清晰、方便别人依赖使用,如果项目都是一个模板,也可以复用等等,还有其它各种好得自己摸索感受吧)

详细说明:

1、依赖名称:

这里要注意,在我们自己发布项目时尽量遵守以上规范,否则当别人搜索依赖时会写的很冗余很混乱,这也是很多私服中不断重复上传相同jar会导致项目出错的原因。
正常来说,一个项目(如spring的jar)应该是机构、名称和版本唯一的,当我们引用时,可以通过这三个参数唯一标识出一个项目,在上传这些项目的时候,很多人喜欢在artifactId中写上本该属于groupId的内容,这其实是不合理的。
举个错误写法例子:

<dependency>
     <groupId>org.springframework</groupId>
     <artifactId> org.springframework .spring-core</artifactId>
     <version>4.1.1.RELEASE</version>
</dependency>

这里在artifactId中重复定义了本该属于groupId的内容,所以这样对于项目发布来说是不规范的。

2、依赖在哪:

因为我们安装maven是要配置maven主程序目录、maven配置文件目录、maven仓库目录这三个路径的(可能ide会有自动配置,但这三个都是必不可少的)
maven主程序也就是我们下载的maven插件的根目录;
maven配置文件路径就在maven主程序目录\conf\下,默认名为setting.xml;
maven仓库目录也就是maven自动下载jar所存放的目录以及我们项目发布的本地目录。
当我们编译项目时一般会有如下过程:
1)编译
2)找到pom文件,并扫描相关依赖
3)根据pom中依赖配置信息,到本地maven仓库去查找jar包
4)如果本地没有jar,maven会到它的中心仓库下载jar(
1. http://www.sonatype.org/nexus/
2. http://mvnrepository.com/)
5)如果你公司创建了私服,并且你的maven中做了配置,那么在本地没有找到jar包时,会根据maven的配置文件(conf/setting.xml)所配置的地址,到maven的私服仓库去寻找jar,私服也会根据它的配置规则在本地或中央仓库查找jar,如果本地没有就从服务端下载到本地。(私服的优点见下文)

在步骤1 中,编译会将本地*.java编译为字节码文件,其中很多jar依赖于第三方类库,这时候IDE会根据已配置的 maven\conf\下的setting.xml文件中的配置(或IDE的maven仓库路径)去查找相应jar包。如果有jar包,则会拷贝到项目的编译目录下(myEclipse默认为“tomcat\webapp\lib\”目录下;Intellij IDEA 默认在“项目target\webapps\lib”目录下),
如果本地没有,那么会先去仓库下载到本地,再从本地拷贝到项目编译目录。
其它的下载过程最终也会下载到本地并拷贝到编译目录,更多详情就不多解释了,可自行学习。

3、生命周期:

maven将项目的生命周期大致分为9个,分别为:clean、validate、compile、test、package、verify、install、site、deploy
我经常用的也就是clean、compile、package、install、deploy,而且deploy相对也较少,因为很少发布公共的项目供别人依赖使用,基本也就是项目打包为war时候会打包到私服,运维人员可以到私服上直接下载对应版本。
其中clean即清除项目中编译文件和本地仓库中已打包的文件(即本地install的文件,install后面讲到)
compile即编译项目中的java文件,并存放在项目的编译目录(根据不同的配置,编译目录也不一样)
test 即运行项目中的测试用例文件,如果测试用例未通过,也会打包失败,另,这里的test过程可以在pom中通过配置跳过。(想想也是,我项目都好了,其实不是非要跑测试用例的)
package 即将本地编译好的文件打包为war 或者jar(这是最常见的两种,其他相关自行了解)
verify 我很少用到,没怎么了解过
install 将打包的代码存放到本地maven仓库,可供本地其它项目依赖使用
site生成项目报告,站点,发布站点,这个也很少用到,不是很清楚
deploy 将打包在本地仓库中的项目发不到服务器,供他人依赖使用
详细生命周期自行学习了解。

4、私服的优点

在上述过程中,私服的作用相当于本地的maven仓库,但它同时又作为服务器的角色来为局域网用户提供jar下载,在很多开发环境中,开发机器是不允许连接互联网的,所以这时候maven就不能正常访问中央仓库下载jar文件,所以这里的私服仓库就显得尤为重要了。私服所在服务器提供了同时访问内网和互联网的功能,当用户找不到jar包依赖时,可以通过内网访问私服服务器,如果私服没有,那么私服会通过互联网去中央仓库或其它仓库下载,这样可以一定程度上保证开发环境的安全性。
另一方面局域网的访问速度普遍是比互联网快的,如果在本地没有jar,当局域网用户下载jar包且私服没有时,私服的带宽比较大便可以更快速的下载到jar并回传到开发者本地,这样可以保证在复杂的网络环境或网络不通畅的时候依然可以使用maven相关的功能。并且,当局域网中有用户下载了相应jar包后,其它用户再次需要该jar包时私服仓库便可以直接从私服服务器本地直接通过局域网发送给局域网用户,这样大大减少了带宽、流量并解决了很多由于网络环境导致的问题。

注

由于平时接触的jar war比较多,文中很多地方对依赖或者项目打包都简单以jar来说明,其实那些jar不单是指jar包文件,还可以是war、pom、或者项目目录结构打包的相关类型的文件,为了便于理解暂用jar来说明,待知识体系再完善还会进一步修改哈。I’ll be back -3-

--------------------- 本文来自 陶呵呵 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/u010414666/article/details/50060417?utm_source=copy

18、探索隐私工程技术的前沿:从理论到实践 本文深入探讨了隐私工程技术的核心概念、关键技术及其应用场景,分析了加密技术、访问控制和用户界面设计等在隐私保护中的作用,并结合数据库保护、物联网设备等实际场景进行阐述。同时,文章还讨论了隐私工程技术面临的挑战与未来发展趋势,提出了数据最小化原则、差分隐私、隐私增强技术等优化策略以及隐私设计、隐私影响评估等最佳实践,最后展望了新兴技术对隐私保护的影响及法规推动下的发展方向。 阅读详情

相关推荐

解锁RK3588视觉潜能:RGA硬件加速库实战指南

本文深入探讨了如何利用RK3588芯片内置的RGA硬件加速库,解决视觉应用中图像预处理的性能瓶颈。通过实战指南,详细介绍了RGA库在YUV转RGB、图像缩放等核心操作上的应用,相比CPU软处理可大幅降低延迟与CPU占用,从而充分释放RK3588的NPU算力,构建高效的AI视觉预处理流水线。

zeta9的博客 669

maven使用经验与心得整理

一、概述日常开发中,我们用到的maven相关功能大概以下几种: 1、 管理jar依赖 2、 构建项目(打包、编译等) 3、 发布项目(共享、上传至服务器,供他人使用)二、简单介绍:1、管理依赖jar一般在pom.xml文件的中配置,以spring core为例,一般格式如下:<dependency> <groupId>org.springframework</groupId>

陶呵呵的专栏 1万+

别再死磕U-Net了!用PyTorch手把手教你搭建ResUnet,搞定医学图像分割(附完整代码)

本文详细介绍了如何利用PyTorch搭建ResUnet模型,通过引入残差连接解决医学图像分割中的梯度消失、特征退化和细节丢失问题。与传统U-Net相比,ResUnet在Dice系数和收敛速度上均有显著提升,特别适合处理脑部MRI等复杂医学图像。文章还提供了完整的代码实现和关键训练技巧,帮助开发者快速掌握这一先进技术。

weixin_42552637的博客 327

Idea中右侧maven只有Lifecycle解决思路

集合了maven只有Lifecycle各种解决方案。以及Dependencies爆红问题

qq_51893331的博客 3115

Simulink与C/C++的无缝对接:自定义结构体变量导入实战指南

本文详细介绍了如何将C/C++自定义结构体导入Simulink环境,实现无缝数据对接。通过编写标准C头文件、配置MEX编译环境(如MinGW),并利用`Simulink.importExternalCTypes`函数,可将结构体转换为Simulink Bus对象,从而提升复杂系统模型的可读性、可维护性及仿真与代码生成效率。

weixin_29093017的博客 483

【开源】STM32+ESP8266+MQTT多传感器数据上云OneNET(易拓展,带操作系统FreeRTOS)

【开源】STM32+ESP8266+MQTT多传感器数据上云OneNET(易拓展) 文章目录【开源】STM32+ESP8266+MQTT多传感器数据上云OneNET(易拓展)1. 相关连接1.1 本项目相关连接1.2 无操作系统简易版(旧版,有OneNET云平台设备创建和应用配置,本文不再赘述):2. 具体功能3. 硬件环境4. 云平台环境配置5. 接线6. 功能展示6.1 数据流6.2 APP应用管理6.3 串口数据7. 源码详解7.1 源码文件解析7.2 服务器与wifi配置相关7.3 源码框架7.4

ssssadw的博客 2万+

idea的右侧maven project只有lifecycle,libraries引入不了maven

idea的右侧maven project只有lifecycle,libraries引入不了maven #当你找遍过网上找的资料,均没有解决你的问题时,搜到了我这个应该是你的能释放你一手 #idea右侧只有lifecycle,你尝试过删除module的lib依赖重新用pom去reimport,重装idea,重新更换maven, #你可以找一下.m2文件夹下与repository平级的那个settings.xml,你应该知道.m2文件夹的(因为你没少被折磨过), #进入settings.xml,把那个该死的标签

qq_40000351的博客 1654

医疗AI新思路:为什么Graph Neural Network能改善气道分割的漏检问题?

本文探讨了Graph Neural Network(GNN)在医疗AI领域改善气道分割漏检问题的创新应用。通过分析3D UNet等传统方法的局限性,揭示了GNN在图结构建模中的独特优势,特别是在捕捉细小末梢支气管方面的突破性表现。文章详细介绍了UNet-GNN混合架构的设计原理、实验性能对比及优化方向,为CT影像分析提供了新思路。

weixin_30379531的博客 224

右侧maven只有lifecycle解决方法

//这是注释 class A { //class A{} 相当于一栋大楼 public static void main(String[] args){ //main主方法,相当于一栋大楼的门 System.out.pringln("Hello World !"); //括号里写什么输出什么 } } ...

qq_52631044的博客 7062

Transformer在BEV感知中的统治地位

Transformer在BEV感知中的统治地位 ,人工智能,计算机视觉,大模型,AI,本文围绕 Transformer 在 BEV 感知中的统治地位展开,介绍了 Transformer 的基础原理,如自注意力、多头注意力机制等,以及 BEV 感知的概念、任务与挑战。阐述了 Transformer 在 BEV 感知中的技术优势,包括全局建模、灵活特征融合和长距离依赖捕捉能力,还介绍了典型架构、代码示例及在自动驾驶目标检测等领域的应用案例。同时,评估了其性能,提及优化方法,并展望了与其他技术融合、端到端系统等…

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

RK3288芯片MIPI-DSI显示疑难杂症大揭秘:从点不亮到花屏全攻克

本文针对RK3288芯片MIPI-DSI接口常见的显示异常问题进行系统性分析,提出了完整的排查解决方案。硬件方面,重点检查排线连接、电源供应和散热问题;软件方面,强调屏参配置、驱动版本及时序参数的精确调整。通过两个典型案例(点不亮与花屏)具体说明排查流程,并指出未来优化方向应包括提升芯片抗干扰能力、开发智能自适应驱动程序等。该手册为开发者提供了从基础原理到实际问题的全面指导,能有效缩短故障排查时间,确保显示系统稳定运行。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 661

maven新项目在idea中没有Plugins和dependency文件夹,只有LifeCycle

maven新项目在idea中没有Plugins和dependency文件夹,只有LifeCycle 近期公司一个新的已有项目,导入到idea中后,发现无论是download resource还是reload project,maven工作局域栏中的目录只有lifeCycle,正常情况下,使用快捷键:ctrl+shift+alt+s,进入到项目配置操作栏,应该是以下类似的目录,在libraries中,依赖直接下载下来了。但是现在怎么都不会自己下载依赖。 在网上搜寻了好久解决方法,有说maven版本低的,试了

weixin_43231398的博客 3861

2026最新YOLO26改进:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

针对YOLO26模型改进痛点,本专栏整理200+实战验证方法,覆盖卷积层、注意力机制等核心模块。 每种方法含原理、性能分析、改进路径及实操流程,代码可直接运行,快速提升模型效果,性价比超高。

魔改工程师的博客 1万+

maven LTDM 部署前台Tomcat 各种折腾--->自己总结经验

折腾很长时间的原因主要是以下几点: 1.  maven管理的工程,mvn clean package打包必须保证工程中无error,否则出现找不到符号等错误。  (此bug恶心我一晚上) 2.工程里同时有两个war包存在,并且只是名字不同,内容基本相同--->产生一些莫名奇妙的错误,以后应尽量先排除这些产生意外的条件。 3.当只剩一个war包时,产生了另一些error,此时忘记了替换jsha

洪文聊架构 1167

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

MAVEN利器:一文带你了解IDEA中如何使用Maven

在上一篇文章中,我们学习了如何在自己的电脑环境中安装MAVEN软件,但实际上我们日常使用中并不是一直在命令行中使用MAVEN的,我们更多的是基于IDEA编译器来使用MAVEN,那么我们今天就来学习如何在自己的IDEA中配置MAVEN。

fckbb的博客 8691

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MAVEN的安装与配置以及配置MAVEN镜像为阿里云

MAVEN的安装与配置 如需配置MAVEN链接阿里云的镜像请直接查看 (三、配置MAVEN本地仓库 的第四步) 一、需要的东西 1.JDK(上一章已经详细讲解了https://blog.youkuaiyun.com/map_cx/article/details/89471218) 2.Eclipse 3.MAVEN的程序包 二、下载(因为MAVEN不需要安装) 1.下载: https://maven.ap...

胡椒码农的博客 5万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Maven的简介以及Maven安装配置

打开IDEA,点击菜单栏中的【File】选择【New Projects Settings】选择【Settings For New Projects】进入IDEA配置,找到【Build,Execution,Deployment】菜单栏中的【Build Tools】中找到Maven。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。

2301_80309994的博客 2618

什么是Maven,Maven的概述及基本使用

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档项目对象模型(Project Object Model)依赖管理模型(Dependency)插件(Plugin)提供了一套标准化的项目结构提供了一套标准化的构建流程(编译、测试、打包、发布…)提供了一套依赖管理机制依赖管理:依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件…)1.下载jar包2.复制jar包到项目。

宁可枝头抱香死,何曾吹落北风中。 4377

解决maven unresolved plugin 以及 如何控制maven plugin 的插件版本

最近在写一个项目的时候,有两个module,A是一个Spring boot,B是一个没有使用框架的module。 问题一: B库很长时间在执行Downloading plugins for,如果中途退出了idea,插件没有下载完,再次进入idea,会出现unresolved plugin的报错 分析: 这个问题可以通过两个方面来解决: 1、更改仓库地址,提高下载速度,一运行,很快...

薛瑄的博客 5万+

Maven

教你下载和配置Maven

xiaoyudecsdndec的博客 2207

Maven安装、配置、Maven集成到IDEA中

1.先maven官网下载maven.2.解压到D:\盘根目录下注意:不能放到中文目录。

2301_80220193的博客 2162

Maven项目缺少Maven Dependencies总结

本文通过总结网上各种maven项目没有Maven Dependencies的情况,结合自己所遇到的奇葩问题,综合成一片文章,希望给大家带来帮助。

Frankenstein的博客 1万+

Eclipse基于Maven配置SSM

Eclipse配置Maven环境 一.什么是maven? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期 (Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段 (phase)中插件(plugin)目标...

guigu2012的专栏 4094

如何配置Maven

目录 1.配置MAVEN_HOME 2.修改系统变量的PATH 3.配置maven本地仓库 4.配置镜像 1.配置MAVEN_HOME 在系统环境变量下配置MAVEN_HOME,maven的所在文件夹如下,不需要加上bin 2.修改系统变量的PATH 将 %MAVEN_HOME%\bin加入到系统环境变量的PATH 3.配置maven本地仓库 打开你的maven文件夹,进入conf文件夹,打开settings.xml文件...

weixin_41531181的博客 5519

阿里云MAVEN/华为MAVEN/腾讯云MAVEN 仓库地址

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录1.阿里云MAVEN2.腾讯MAVEN3.华为MAVEN4.网易MAVEN 1.阿里云MAVEN <mirror> <id>aliyun</id> <name>aliyun Maven</name> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/cont

SherlockerSun的博客 6114

Maven Wrapper的使用

Maven Wrapper是apache maven借鉴了gradle wrapper之后增加了的功能,可以为每个具体的项目添加一个专用的、指定版本的maven供其使用。takari官方说maven wrapper将会整合到apache maven 4.0里边,现在maven最新版本是3.8,等待好消息。

顺其自然~专栏 2629
上一篇: Element UI 官网地址
下一篇: Vue封装工具栏
AN_MIN
博客等级 码龄10年 12粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值