Apache Maven 是一个项目管理工具。也是一个平台。
pom(Project Object Model)
Maven 运行的时候,它是根据项目的pom.xml 里设置的组合来运行的。Maven是声明式的。我们需要做的只是创建一个 pom.xml 文件然后将源代码放到默认的目录。Maven 会帮你处理其它的事情。Maven符合约定大于配置,源代码,测试代码,生成的jar都有自己的目录。
它有一下几个核心概念。坐标,依赖,仓库,生命周期,插件。
坐标:<groupId>junit</groupId> 它们唯一标识了一个项目
<artifactId>junit</artifactId>
<packaging>jar</packaging>
<version>4.6</version>
依赖:有范围,有传递性
仓库:默认本地所有Maven项目都复用一个本地仓库,本地仓库从远程仓库(可配置)下载必要的构件。中 央仓库是唯一内置的远程 仓库。构建项目是会先从本地仓库寻找依赖,没有在去远程仓库寻找。
插件:Maven 大部分的智能是由插件实现的,而插件从 Maven 仓库获得。插件和目标绑定,一个插件可有 多个目标。以下为举例。
resources:resources
Resources 插件的resources 目标绑定到了resources 阶段。这个目标复制src/main/resources 下的所有资源和其它任何配置的资源目录,到输出目录。
compiler:compile
Compiler 插件的compile 目标绑定到了compile 阶段。这个目标编译src/main/java 下的所有源代码和其他任何配置的资源目录,到输出目录。
resources:testResources
Resources 插件的testResources 目标绑定到了test-resources 阶段。这个目标复制src/test/resources 下的所有资源和其它任何的配置的测试资源目录,到测试输出目录。
compiler:testCompile
Compiler 插件的testCompile 目标绑定到了test-compile 阶段。这个目标编译src/test/java 下的测试用例和其它任何的配置的测试资源目录,到测试输出目录。
surefire:test
Surefire 插件的test 目标绑定到了test 阶段。这个目标运行所有的测试并且创建那些捕捉详细测试结果的输出文件。默认情况下,如果有测试失败,这个目标会终止。
jar:jar
Jar 插件的jar 目标绑定到了package 阶段。这个目标把输出目录打包成JAR 文件。
生命周期:一个生命周期是一些阶段的序列,一个目标绑定到一个阶段,当运行任何maven命令的时候。这条命令告诉 Maven 执行
一系列的有序的步骤,直到达你指定的生命周期。
当我们运行mvn package,Maven 运行到打包为止的所有阶段,在Maven 沿着生命周期一步步向前的过程中,它运行绑定在每个阶段上的所有目标。以下为步骤。
mvn resources:resources \
compiler:compile \
resources:testResources \
compiler:testCompile \
surefire:test \
jar:jar
1 . Maven常用命令指南
在命令行使用mvn --help可得到简单命令帮助;
mvn install 编译,打包并安装到本地仓库;
mvn clean 删除target目录;
mvn test 运行所有单元测试;
mvn jetty:run 运行webapp应用,适用于webapp模块;
mvn eclipse:eclipse 生成eclipse工程。
2. mvn命令的选项解释
-o 不联网检测所有依赖包的更新,例如mvn clean install -o 不联网检测更新进行build(适用于本地仓库中已包含了所有最新jar包);
-P${profileId}为pom.xml中配置的Profile,例如mvn -Pmysql(指定使用mysql数据库);
-D 增加maven运行时的属性值,注意,会覆盖pom.xml中的properties定义,例如mvn -DskipTests=true(不运行测试),mvn -Djdbc.password=123456,重新设置数据库连接密码为123456,mvn –Djetty.port=9090,当你本地需要开启多个服务时,修改端口用
3. Maven Repository配置
找到.m2的仓库目录,默认在你的系统当前用户目录下,例如C:/Users/${yourname}/.m2,编辑settings.xml文件(如果该文件不存在,找到你的maven安装目录,拷贝conf/settings.xml到.m2目录),内容为
<pre>
<settings>
<servers>
<server>
<id>nexus</id>
<username>yourUsernameOnNexus</username>
<password>yourPasswordOnNexus</password>
</server>
</servers>
</settings>
</pre>
配置完成,在源代码目录使用mvn install检查是否可从我们的Maven服务器获取更新。yourUsernameOnNexus和yourPasswordOnNexus现在统一用一个帐号从技术部maven服务器下载依赖。
相关推荐
6. **README.md** - 提供了项目的简介、如何运行以及可能遇到的问题和解决方案。 通过分析这些文件,开发者可以了解到如何设置Maven项目,配置Spring MVC,编写控制器,定义模型,以及如何组织服务和数据访问层。...
1. 框架简介:Spring3 MVC是Spring框架的一部分,用于构建Web应用程序,提供模型-视图-控制器(MVC)架构支持。 2. 配置:在`web.xml`中配置DispatcherServlet和ContextLoaderListener,初始化Spring MVC和Spring...
简介 本项目旨在让初学者快速入门Activiti。 作者: 项目主页: 在线演示: Wiki文档: QQ群在线支持:: 236540304 框架版本 Activiti: 5.15.1-kft Spring: 3.2.5.RELEASE Hibernate: 4.1.4.Final 分支选择 Demo提供...
简介 基于swagger-bootstrap-ui做了一些优化拓展,原地址是在 访问,一些特性功能可以在原地址上进行参考.本项目没有打包到mavne私服中,需要自己本地编译。 如果图片看不到可以参考: 功能展示 注解使用 入参 1.1 多...
基于gcc的stm32环境搭建源码+文档说明.zip,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的
内容概要:本文详细介绍了欧姆龙NJ501-1500锂电池分选机的技术特点和工艺流程。该设备采用国际IEC 61131标准编程模式,具备伺服运动控制、高创直线电机DDR高速同步运动控制等功能,能进行电压测试、厚度测量等操作。设备配备雅马哈和ABB机械手,实现多轴协同作业,同时具备故障记录、产量统计及OEE功能,确保高效、精准的电池分选。此外,威伦通触摸屏提供的优质程序模板提升了编程效率。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是关注锂电池生产和分选设备的专业人士。 使用场景及目标:适用于需要提升锂电池分选效率和质量的企业,旨在帮助技术人员理解和应用先进的工业自动化技术,提高生产线的自动化水平和管理水平。 其他说明:文中附有详细的PLC程序、触摸屏程序、变量地址分配表、IO分配表、雅马哈机械手程序、ABB六轴机器人程序及电气原理图等资料,便于深入研究和实施。
毕业论文-超级图文最新资源包及上传位置说明-整站商业源码.zip
毕业论文-【超人】积分商城 5.2.26-整站商业源码.zip
免费0积分--gc10-det yolo格式
内容概要:本文深入探讨了Abaqus软件在管中管系统深水管非线性动力分析中的应用,特别是基于Tube-to-tube ITT单元的数值模拟研究。文章首先介绍了管中管系统的基本概念及其在深海石油、天然气开发中的重要性。接着阐述了Abaqus软件的功能特点及其在复杂工程问题中的优势。随后详细讲解了如何在Abaqus中建立管中管系统的模型,包括定义材料属性、设定几何尺寸、处理接触关系等。还讨论了设置分析步和载荷的方法,强调了非线性动力分析的必要性。最后展示了求解与结果分析的具体步骤,并提供了相关代码片段以辅助理解和操作。 适合人群:从事海洋工程、石油天然气开发等领域工作的工程师和技术人员,尤其关注深水管系统非线性动力分析的专业人士。 使用场景及目标:适用于需要深入了解并掌握Abaqus软件在管中管系统深水管非线性动力分析中的应用方法,旨在提升对这类复杂系统的认识水平,优化设计方案,确保工程安全可靠。 其他说明:文中提供的代码片段有助于读者更快上手实际操作,使理论与实践相结合,便于后续工作中灵活运用所学知识。
内容概要:本文档是2017年全国大学生电子设计竞赛的试题,针对单相用电器分析监测装置的设计与制作提出了具体任务和要求。该装置需具备学习和分析监测两种模式,在学习模式下测试并存储电器特征参量,在分析监测模式下实时指示用电器类别和工作状态。基本要求包括电器电流范围、可识别的电器工作状态数、响应时间、最小电流电器的自制等。发挥部分则鼓励提高装置性能,如学习功能优化、增强识别能力、低功耗设计以及无线传输等功能。文档还详细规定了参赛注意事项,如参赛队伍组成、比赛时间安排、纪律要求等,并给出了评分标准,涵盖设计报告、基本要求完成情况及发挥部分的表现; 适合人群:参加全国大学生电子设计竞赛的本科生及高职高专学生,特别是对电子设计、单相用电器监测感兴趣的团队; 使用场景及目标:①作为竞赛指南,帮助参赛队伍明确设计目标和要求;②指导参赛队伍进行单相用电器分析监测装置的设计与制作,确保满足竞赛的基本要求和发挥部分的要求; 其他说明:文档强调了参赛纪律,要求参赛者必须是有正式学籍的全日制在校生,并且在竞赛期间只能在学校指定场地内进行设计制作,不得与他人交流。此外,文档还提供了详细的评分标准,以确保评审过程的公平性和透明度。
GB/T-7714-2015学位论文zotero格式更改csl文件
毕业论文-春磊引导页-极乐二次修改-整站商业源码.zip
大学生就业指导.pdf
FIDIA数控主轴伺服驱动调试手册.pdf
毕业论文-MIP建站平台 1.2.2加密版-整站商业源码.zip
IDC数据中心布局与动力规划.pdf
毕业论文-H5手机转盘活动游戏页面源码-整站商业源码.zip
内容概要:本文档涵盖了Python编程语言的多个重要特性和概念,包括函数参数传递、元类、静态方法与类方法的区别、类变量与实例变量的关系、自省特性、字典推导式、单下划线和双下划线的意义、字符串格式化、迭代器和生成器、`*args`和`**kwargs`的使用、面向切面编程(AOP)与装饰器、鸭子类型、函数重载、新式类与旧式类的区别、`__new__`和`__init__`的区别、单例模式的实现、作用域规则、线程全局锁(GIL)、协程、闭包、lambda函数、函数式编程、拷贝的区别、垃圾回收机制、列表操作、`is`关键字、文件读取方法、Python2与Python3的区别等。此外,还包括了一些操作系统、数据库、网络、数据结构等方面的知识点。 适合人群:具备一定编程基础,特别是对Python语言有一定了解的研发人员,尤其是工作1-3年的开发者。 使用场景及目标:①帮助读者深入了解Python语言的核心特性和高级用法;②为开发者提供解决实际编程问题的具体方法和技术;③为准备面试的程序员提供参考,涵盖常见的面试知识点。 其他说明:文档不仅提供了理论知识,还附带了大量的代码示例,便于读者理解和实践。部分内容链接了外部资源,供读者进一步深入学习。文档内容广泛,既适合日常编程学习,也适合面试准备。
毕业论文-qiyeseo-整站商业源码.zip