最近学习了一下maven将学习的一些心得写下来:
1 什么是maven? 他能为我们做什么?
Maven是一个构建工具, 使用一定的目录组织结构来简化和一致项目构建。它把编译、打包、测试、发布等开发过程中的不同环节有机的串联了起来。
2 如何安装maven? (包括maven插件)
(1)首先在http://maven.apache.org上下载maven-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>-bin.zip文件,例如将该文件解压缩到c:\ maven-2.0.4.(当前版本)<o:p></o:p>
(2)将c:\maven-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>\bin目录加入到环境变量%path%中。<o:p></o:p>
(3)运行mvn –version确认是否安装成功。显示Maven version <st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.4</st1:chsdate>则表示安装成功。
2.1 maven插件的安装:
(1)进入eclipse点击HelpàSoftware UpdatesàFind and Insall…àSearch for new features to installàNextàNew Remote Site…
(2) 在弹出的界面中输入Name:m2plugin URL:http://m2eclipse.codehaus.org/
<o:p>在网站上更新下载,重新启动eclipse,这样插件就安装完成了。</o:p>
<o:p></o:p><o:p>3 简单的java应用程序和java web程序的例子</o:p>
<o:p>首先输入命令<o:p></o:p></o:p>
mvn archetype:create -DgroupId=cn.com.capinfo -DartifactId=my-app<o:p></o:p>
生成的项目布局如下:<o:p></o:p>
my-app
----src
----main
----java<o:p></o:p>
----cn
----com
----capinfo
----test
----java<o:p></o:p>
----cn
----com
----capinfo
还会在my-app目录下创建了一个pom.xml文件(需要注意一点:执行命令必须在pom.xml文件同级的目录下进行)
<o:p> </o:p>
下面对pom.xml的各各结点进行一下说明:<o:p></o:p>
poject 这是pom.xml的顶级元素。<o:p></o:p>
modelVersion 这是元素指出了这个POM使用的是那个版本的对象模型。这个模型的版本自身么是经常改变的,但这种改变是为了使模型更加的稳定。<o:p></o:p>
groupId这个元素指出创建这个工程的组织或团队的唯一标识,并且这个也是一个项目的关键标识,推荐使用这个组织或团队的完整域名。<o:p></o:p>
artifactId 这个元素指出这个工程的基本名称。<o:p></o:p>
packaging 打包的类型(例如:JAR,WAR,EAR等等)默认为jar<o:p></o:p>
version项目的版本号(打包时会将它加入)<o:p></o:p>
name 这个元素指出这个工程显示的名称。<o:p></o:p>
url指出在哪里能发现工程的站点。
desription 这个元素提供了这个工程基本的描述。这个也常用于Maven产生的文档中。<o:p></o:p>
dependencies 定义依赖(项目中需要依赖的包)<o:p></o:p>
以上是maven的一些基本项,完整的请参考http://maven.apache.org/maven-model/maven.html<o:p></o:p>
还需要注意在定义依赖的时候存在着几种对依赖的管理如下:<o:p></o:p>
- compile,缺省值,适用于所有阶段,会随着项目一起发布。 <o:p></o:p>
- runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 <o:p></o:p>
- test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 <o:p></o:p>
- system,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。 <o:p></o:p>
而maven下载这些包是通过在http://www.ibiblio.org/maven2/网站上下载的
<o:p></o:p>
mvn archetype:create -DgroupId=cn.com.capinfo -DartifactId=demo
-DarchetypeArtifactId=maven-archetype-webapp<o:p></o:p>
生成的结果结构如下所示:
demo
----src
----main
----resources
----webapp
----WEB-INF<o:p></o:p>
与java应用程序相比pom.xml需要修改的地方是<o:p></o:p>
<packaging>war</packaging><o:p></o:p>
如果想改变生成后war文件的名字可以加入以下代码<o:p></o:p>
<build>
<finalName>capinfo demo</finalName>
</build><o:p></o:p>
填加依赖的时候是比较麻烦的,因为groupId、artifactId、version是必填项,有时候不知道用哪个版本,有一个小的窍门:
首先进入google然后输入你要找的文件如:site:www.ibiblio.org maven2 struts 进入相应的页中打开maven-metadata.xml 文件就可以得到所需要的信息了。<o:p></o:p>
需要注意一点,如果想将.jar文件加载到WEB-INF/lib文件夹下需要将<scope>compile</scope>这样就可以将.jar文件填加进去了。<o:p></o:p>
创建Maven项目:mvn archetype:create
编译源代码:mvn compile
编译测试代码:mvn test-compile
运行测试:mvn test
产生site:mvn site
打包:mvn package
在本地Repository中安装jar:mvn install
清除产生的项目:mvn clean<o:p></o:p>
分享到:
相关推荐
Maven作为一款强大的项目管理工具,为开发者提供了自动化构建、依赖管理、项目文档生成等功能。通过掌握Maven的核心概念和基本使用,开发者可以更加高效地管理项目,提高开发效率和质量。同时,Maven的灵活性和可...
初衷想法:在学习过程中遇到比较有趣的问题、然而花了点心血和时间去整理,然而进行梳理出来一份文章比较完整有知识体系的DevOps自动化构建与部署工程文章,技术知识内容比较多,而且文章内容较长,然而分了几个章程...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
在搭建完成工程后,我们可以使用 Jenkins 来自动化构建和测试过程。Jenkins 是一个基于 Java 的自动化构建工具,它可以帮助我们自动化构建、测试和部署软件。我们可以使用 Jenkins 来构建和测试我们的工程,然后将其...
(四)使用maven镜像自动化构建Spring Boot项目 (五)使用ssh命令自动化部署 (六)使用Apifox进行自动化测试 (七)使用Jmeter进行自动化压测 (八)用nginx收集测试报告 (九)使用Sonar进行代码扫描
maven安装与配置
自动化构建和构建环节 · 07.部署Maven核心程序 · 08.约定的目录结构说明 · 09.第一个Maven工程的目录结构和文件内容 · 10.联网问题 · 11.几个常用Maven命令 · 12.POM · 13.坐标 · 14.仓库 · 15.第...
构建项目:Maven 提供了强大的构建功能,可以自动化执行编译、测试和打包等任务,并生成可执行文件或库文件。 项目生命周期管理:通过 Maven,您可以定义项目的生命周期,规定各个阶段的任务和顺序,并轻松执行这些...
Maven是一款基于服务Java平台的自动化构建工具 **构建**就是以“Java源文件”、“框架配置文件”、“JSP”、“HTML”、“图片”等资源为“原材料”,去生产一个可以运行的项目的过程 ### 二、Waven有什么用 在...
window系统下安装程序MAVEN.exe
word包括maven概念使用、自动化构建、继承、聚合、通过maven创建web工程。
它提供了一种标准化的方式来构建项目、管理依赖、运行测试、生成文档等,使得项目的构建过程更加自动化和规范化。 Maven基于项目对象模型(Project Object Model,POM)来管理项目,通过在项目根目录下的pom.xml...
它的核心功能是一个具有跨平台特性的构建工具 , 帮助我们自动化构建 , 并提供一个完整的优化的构建生命周期模型 , 和构建任务所需的基础组件/插件.它还是一个依赖管理工具和项目信息管理工具 , 方便开发人员更好的...
1,docker常用命令使用 1.1 docker rm命令强制删除容器 docker rm -f 1.2 docker rmi命令强制删除扩展 docker rmi -f 1.3 docker build命令强制指定Dockerfile文件进行编译 docker build -t 镜像名称:镜像版本号-f ...
4、再次搭建接口自动化平台,总会遇到的之前没遇到过的问题: a> eclipse创建maven项目后,从原来本地调试的github拉取配置代码,再调试出现执行xml格式问题 问题:SXXP0003: Error reported by XML parser 解决:...
目录 1、传统网站部署流程 ...7、Jenkins持续集成自动化部署一 8、Jenkins持续集成自动化部署二 9、Jenkins持续集成插件设置篇 10、Jenkins持续集成邮件设置篇 Jenkins+Maven+SVN+Tomcat持续集成实v1战
熟练使用Eclipse/IDEA 开发工具,熟练使用 Maven 构建多项目工程以及使用 Git 实施版本控制 熟练使用 Linux 以及 Linux 的常用命令以及在 Linux 下安装各种服务、完成项目的部署 掌握使用Docker 进行应用的...
编译过程:使用make或特定语言的编译器(如GCC, G++, 或者Java的Maven)自动化执行编译任务。 错误检查:在编译过程中,脚本会捕获并报告任何错误或警告,帮助快速定位问题。 测试集成:脚本可执行单元测试和集成...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...