Maven学习总结——使用Maven构建多模块项目

合集下载

Maven的介绍及使用

Maven的介绍及使用

Maven的介绍及使⽤⼀、Maven简介 Maven 是⼀个项⽬管理⼯具,可以对 Java 项⽬进⾏构建、依赖管理,是⼀个⾃动化构建⼯具。

⾃动化构建⼯具:将原材料(java、js、css、html....)->产品(可发布项⽬) 编译-打包-部署-测试 -> ⾃动构建Maven的作⽤:1、管理jar包1. 增加第三⽅jar包(不需要⾃⼰下载jar包)2. 管理jar包之间的依赖关系(maven⾃动关联下载所有依赖的jar包)2、将项⽬拆分成若⼲个模块:借助于Maven可以将⼀个项⽬拆分成多个⼯程。

(例如爱洋葱)Maven能⼲的事情: 清理:删除编译的结果,为重新编译做准备。

编译:java->class 测试:针对于项⽬中的关键点进⾏测试,也可⽤项⽬中的测试代码去测试开发代码 报告:将测试结果进⾏显⽰ 打包:将项⽬中包含的多个⽂件压缩成⼀个⽂件,⽤于安装或部署(java项⽬打成⼀个jar包,web项⽬打成⼀个war包,⽗⼯程-pom) 安装:将打成的包,放到本地仓库,供其他项⽬使⽤。

部署:将打成的包,放到服务器上,准备运⾏。

Eclipse中的项⽬,要在Tomcat中运⾏,需要部署: a、通过eclipse中add and remove按钮进⾏部署 b、将Web项⽬打成⼀个war包,然后将该war包复制到Tomcat/webapps中即可 通常下载⼀个jar包,先在本地仓库中下载,如果本地仓库中不存在,则再联⽹到中央仓库(镜像)去下载。

约定配置: Maven 提倡使⽤⼀个共同的标准⽬录结构,Maven 使⽤约定优于配置的原则,⼤家尽可能的遵守这样的⽬录结构。

如下所⽰:⼆、Maven POM POM(项⽬对象模型) 是 Maven ⼯程的基本⼯作单元,是⼀个XML⽂件,包含了项⽬的基本信息,⽤于描述项⽬如何构建,声明项⽬依赖,等等。

执⾏任务或⽬标时,Maven 会在当前⽬录中查找 POM。

maven的学习总结

maven的学习总结

maven的学习1maven 的介绍从字面解释maven是知识渊博、经验丰富的专家或怪才的意思。

深入研究和使用maven,确实让人感到它确实沉淀了Java项目构建领域中的丰富知识和经验,并以一种高度可复用的形式出现在你的面前。

maven的开发者在他们开发网站上指出,maven的目标是要使得项目的构建更加容易,它把编译、打包、测试、发布等开发过程中的不同环节有机的串联了起来,并产生一致的、高质量的项目信息,使得项目成员能够及时地得到反馈。

maven有效地支持了测试优先、持续集成,体现了鼓励沟通,及时反馈的软件开发理念。

如果说Ant的复用是建立在"拷贝--粘贴"的基础上的,那么Maven通过插件的机制实现了项目构建逻辑的真正复用。

2maven的环境搭建首先去官方网站下载之:/dyn/closer.cgi/maven/binaries/apache-maven-2.2.1-bin.zip,我选择的是截至目前最新版本maven2.2.1版本2.1设置环境变量:Maven2下载完后,我将其解压到我的计算机的D:\javatools\apache-maven-2.2.1下,目录结构如下:环境变量:我的电脑----属性----高级----环境变量,点击“系统变量”下的新建,输入:变量名MAVEN_HOME; 变量值D:\javatools\apache-maven-2.2.1,在系统变量列表中找到系统变量path,打开之,在变量值中追加”;%MAVEN_HOME%\bin”,至此环境变量设置完毕。

检查一下是否已经完成安装,打开dos窗口,输入mvn –v,如果出现以下信息则表示maven2已经安装成功:2.2本地仓库配置:D:\javatools\apache-maven-2.2.1\conf目录下的setting.xml文件中修改两处:第一处:修改为自己对应的本地仓库目录:第二处:修改为:sky-mobi公司己经有架设一台mavan仓库,供大家使用3Maven生命周期4常用的Maven命令1. 创建Maven的普通java项目:mvn archetype:create -DgroupId=packageName -DartifactId=projectName2. 创建Maven的Web项目:Mvn archetype:create -DgroupId=packageName -DartifactId=webappName –DarchetypeArtifactId = maven-archetype-webapp3. 编译源代码:mvn compile4. 编译测试代码:mvn test-compile5. 运行测试:mvn test6. 产生site:mvn site7. 打包:mvn package8. 清除产生的项目:mvn clean9. 生成eclipse项目:mvn eclipse:eclipse,生成idea项目mvn idea:idea 这年头现在先进了,不用运行也能导入idea工具上了。

IntelliJIDEA构建maven多模块项目

IntelliJIDEA构建maven多模块项目

IntelliJIDEA构建maven多模块项⽬我们在开发中因为项⽬之间需要依赖所以会在maven创建多个项⽬配置依赖,这种项⽬结构主要应⽤在⼤型项⽬中,多⼈协作开发1.创建⼀个项⽬ File ->NEW -> Projec
2.选择最下边的Empty Project 然后点击Next
3.输⼊项⽬名称点击Finish
4.点击Modules 点加号选择 New Module
5.选择maven 选中 Create from archetype 复选框选择maven模板点击Next
6.写maven的坐标,“groupId”,“artifactId”,以及“version”,其中groupId是公司域名的反写,⽽artifactId是模块名,version就是该模块所对应的版本号,填写完之后,点击【Next】
7.选择本地的maven,选择maven得配置⽂件路径及本地maven仓库路径,选择完成后点击【Next】
8.填写模块名称,后点击【Finish】
9.创建第⼆个模块(同上边第 4 第 5步骤)
执⾏完 4、5步骤会进⼊如下页⾯会发现 Parent 后边多了⼀个 ...的按钮点开它选择maven test 模块作为⽗类继承过来
10.输⼊⼦模块的名称点击next
11.选择本地的maven,选择maven得配置⽂件路径及本地maven仓库路径,选择完成后点击【Next】
12..填写模块名,后点击【Finish】
13.此时创建好了两个模块 maven test为⽗模块 maven test1为⼦模块想要创建更多的模块按照以上步骤创建即可最后点击OK
14.会展⽰项⽬结构 maven test1依赖maven test。

使用eclipse搭建maven多module项目(构建父子项目)

使用eclipse搭建maven多module项目(构建父子项目)
2.nቤተ መጻሕፍቲ ባይዱxt
3.next
4.next
5.finish–>配置pom.xml (主要把多余部分删除,junit只要在父工程的pom配置就可以了) 创建web module
1. 与创建java module的1、2点一样; 2. next
3.把包名定义下~ 4.右键pdd-shop-appweb项目–>properties–>Project Facets–>Convert to faceted form.. 这里选2.4版本的web工程是因为楼主用的是tomcat 6.0啦,按自己实际情况去修改
网络错误503请刷新页面重试持续报错请尝试更换浏览器或网络环境
使用 eclipse搭建 maven多 module项目(构建父子项目)
创建空 maven项目
1. File–>new–>project…
2.next
3.next
4.finish
5.配置pom.xml
创建 module
创建java module 1. 右键ppd-shop项目–>new–>project…
5.配置pom.xml 配置中有两点说明下:1、把jar包自动拷贝到web-inf目录地下,这个搞web开发都懂是为什么了;2、配置子项目依赖
项目依赖
扩展

idea中maven的使用

idea中maven的使用

idea中maven的使用一、什么是mavenMaven是一个项目管理工具,能够帮助开发人员自动化构建、依赖管理和项目报告等任务。

它基于项目对象模型(POM),通过使用XML文件来描述项目的配置信息。

二、为什么要使用maven1. 管理项目依赖在开发过程中,我们通常会引入许多第三方库来实现特定的功能,而这些库之间可能存在依赖关系。

使用maven可以很轻松地管理这些依赖关系,只需在POM文件中定义需要的库,maven会自动下载所需的依赖包。

2. 自动化构建和测试使用maven可以定义一系列的构建和测试任务,通过命令行或者IDE(如IDEA)中的插件来执行这些任务。

这大大简化了构建和测试的过程,提高了开发效率。

3. 项目报告和文档生成maven能够生成各种项目报告和文档,如测试覆盖率报告、代码质量报告、项目文档等。

这些报告和文档可以帮助我们更好地了解项目的情况,并且方便与团队成员进行沟通。

三、maven的核心概念1. 项目对象模型(POM)POM是maven的核心概念,它是一个XML文件,用于描述项目的配置信息。

在POM中可以设置项目的依赖、插件、构建方式等。

2. 依赖管理在POM中可以通过<dependencies>标签定义项目的依赖。

maven会根据这些定义去下载所需的依赖库,并且可以自动解决依赖之间的冲突。

3. 插件插件是maven的扩展机制,通过插件可以执行各种任务,如编译代码、运行测试、打包等。

maven默认包含了一些常用的插件,我们也可以自己编写插件来满足特定需求。

4. 生命周期maven的生命周期定义了一系列的阶段,每个阶段都代表了一个任务。

我们可以通过配置来执行指定的阶段,也可以自定义阶段来执行我们需要的任务。

四、在IDEA中使用maven1. 安装maven插件在IDEA中,默认是没有安装maven插件的,我们需要手动安装。

打开IDEA的设置页面,选择Plugins,搜索Maven插件进行安装。

JAVA学习之maven的使用

JAVA学习之maven的使用

JAVA学习之maven的使⽤场景:最近使⽤springboot写⼀些⼩demo,发现到处都要使⽤maven,更离不开其中的pom.xml⽂件,所以这⾥对maven的常规使⽤作出⼀个整理。

⽂章结构:1. 安装配置maven环境2. maven⽬录结构3. HelloMaven4. 常⽤构建命令5. 使⽤archetype插件⾃动建⽴⽬录6. 坐标&仓库7. ⽣命周期&插件的使⽤8. pom.xml常⽤标签介绍9. maven依赖(范围、传递、冲突)10. 聚合&继承正⽂:1. 安装配置maven环境⾸先,在中下载maven组件。

进⼊官⽹后,在左边菜单找到Download选项,点击进⼊Download页⾯。

当然,我们⾸先要保证JDK安装好。

接下来,要在本地配置好maven的系统环境变量,新建⼀个maven_home的变量,然后在系统变量的path后⾯追加这个maven_home;接着,我们测试下maven安装成功没有(注意,⼀般我们都先安装好JDK,因为maven的命令应该是要借助jdk的):如图所⽰,显⽰了maven的版本信息跟jdk的版本信息,当然,我们也可以使⽤echo 查看下系统环境变量:到这⾥,我们对maven的环境配置就完成了。

其实这是第⼀种,我们下载jar包的形式,不过本⼈是使⽤第⼆种,直接安装eclipse(包含maven)的版本即可,⽐如我安装的版本即是⾃带的maven;接下来只需要配置好本地的系统变量即可。

诶,如果我们想要改变maven的版本呢,我们可以在eclipse当中的preferences当中改变:2. maven项⽬的⽬录结构先在这⾥插⼊⼀点个⼈对maven的理解,我们之前每个项⽬都需要有⾃⼰的jar包,但是这么多jar包很多有相同的,⽽这些jar包⼜是基于项⽬存放的,如果我们跨越项⽬这⼀层,统⼀管理jar包呢,这样不就可以节约很多空间和时间。

idea maven实验总结

idea maven实验总结

idea maven实验总结
在本次实验中,我们学习了如何使用idea maven进行项目管理和构建。

通过使用maven,我们可以方便地管理项目依赖、构建和打包项目。

同时,maven还提供了许多插件,可以帮助我们完成各种任务,如测试、发布等。

在实验中,我们首先学习了如何创建一个maven项目。

通过创建一个新的maven项目,我们可以快速创建一个包含基本依赖关系的项目结构。

然后,我们学习了如何添加和管理项目依赖。

通过使用maven 的依赖管理功能,我们可以轻松地添加和删除项目依赖,而不必手动下载和配置依赖项。

接下来,我们学习了如何使用maven进行项目构建和打包。

通过使用maven的命令行工具或在idea中执行maven命令,我们可以快速构建和打包项目。

这可以大大简化我们的项目构建过程,并确保我们的项目能够正确地构建和运行。

最后,在实验中,我们还学习了如何使用maven插件来完成各种任务。

例如,我们学习了如何使用maven-surefire插件来运行单元测试,以及如何使用maven-release插件来发布项目版本。

总的来说,本次实验让我们更好地了解了如何使用idea maven 进行项目管理和构建。

通过使用maven,我们可以方便地管理项目依赖和构建项目,并确保项目能够正确地构建和运行。

- 1 -。

maven 模板

maven 模板

maven 模板Maven 模板。

Maven 是一个强大的项目管理工具,它可以帮助开发人员更轻松地构建、发布和管理项目。

Maven 使用项目对象模型(POM)来描述项目,通过插件和目标来执行各种构建任务。

在实际项目中,我们经常需要创建一些通用的 Maven 模板来加快项目的开发和部署过程。

本文将介绍如何创建和使用 Maven 模板,以及一些常见的 Maven 模板示例。

一、创建 Maven 模板。

1. 创建 Maven 项目。

首先,我们需要创建一个 Maven 项目作为模板。

可以使用 Maven 的 archetype插件来创建一个基本的 Maven 项目,然后将其作为模板进行定制化。

在命令行中执行以下命令来创建一个 Maven 项目:```bash。

mvn archetype:generate -DgroupId=com.example -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false。

```。

这将创建一个名为 `my-project` 的 Maven 项目,可以作为我们的模板项目。

2. 定制化模板。

一旦有了基本的Maven 项目,我们可以根据实际需求对其进行定制化。

比如,可以添加一些常用的依赖、配置文件、插件等,以及定义一些常用的构建目标。

定制化完成后,我们就可以将这个项目作为 Maven 模板来使用了。

3. 安装模板到本地仓库。

为了方便后续的使用,我们需要将定制化后的模板安装到本地Maven 仓库中。

在模板项目的根目录下执行以下命令:```bash。

mvn install。

```。

这将把模板项目安装到本地 Maven 仓库中,以便后续可以通过 Maven 的archetype 插件来生成基于这个模板的新项目。

二、使用 Maven 模板。

1. 生成新项目。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Maven学习总结(八)——使用Maven构建多模块项目在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层)、dao(数据库访问层)、service(业务逻辑层)、web(表现层),这样分层之后,各个层之间的职责会比较明确,后期维护起来也相对比较容易,今天我们就是使用Maven来构建以上的各个层。

项目结构如下:system-parent|----pom.xml|----system-domain|----pom.xml|----system-dao|----pom.xml|----system-service|----pom.xml|----system-web|----pom.xml一、创建system-parent项目创建system-parent,用来给各个子模块继承。

进入命令行,输入以下命令:mvnarchetype:create -DgroupId=me.gacl -DartifactId=system-parent -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false如下图所示:命令执行完成之后可以看到在当前目录(C:\Documents and Settings\Administrator)生成了system-parent目录,里面有一个src目录和一个pom.xml文件,如下图所示:将src文件夹删除,然后修改pom.xml文件,将<packaging>jar</packaging>修改为<packaging>pom</packaging>,pom表示它是一个被继承的模块,修改后的内容如下:1 <project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"2 xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">3 <modelVersion>4.0.0</modelVersion>45 <groupId>me.gacl</groupId>6 <artifactId>system-parent</artifactId>7 <version>1.0-SNAPSHOT</version>8 <packaging>pom</packaging>910 <name>system-parent</name>11 <url></url>1213 <properties>14 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>15 </properties>1617 <dependencies>18 <dependency>19 <groupId>junit</groupId>20 <artifactId>junit</artifactId>21 <version>3.8.1</version>22 <scope>test</scope>23 </dependency>24 </dependencies>25 </project>二、创建sytem-domain模块在命令行进入创建好的system-parent目录,然后执行下列命令:mvnarchetype:create -DgroupId=me.gacl -DartifactId=system-domain -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false如下图所示:命令执行完成之后可以看到在system-parent目录中生成了system-domain,里面包含src 目录和pom.xml文件。

如下图所示:同时,在system-parent目录中的pom.xml文件自动添加了如下内容:<modules><module>system-domain</module></modules>这时,system-parent的pom.xml文件如下:1 <?xml version="1.0" encoding="UTF-8"?>2 <project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0/xsd/maven-4.0.0.xsd">3 <modelVersion>4.0.0</modelVersion>45 <groupId>me.gacl</groupId>6 <artifactId>system-parent</artifactId>7 <version>1.0-SNAPSHOT</version>8 <packaging>pom</packaging>910 <name>system-parent</name>11 <url></url>1213 <properties>14 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>15 </properties>1617 <dependencies>18 <dependency>19 <groupId>junit</groupId>20 <artifactId>junit</artifactId>21 <version>3.8.1</version>22 <scope>test</scope>23 </dependency>24 </dependencies>25 <modules>26 <module>system-domain</module>27 </modules>28 </project>修改system-domain目录中的pom.xml文件,把<groupId>me.gacl</groupId>和<version>1.0-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,因为groupId和version会继承system-parent中的groupId和version,packaging设置打包方式为jar 修改过后的pom.xml文件如下:1 <?xml version="1.0"?>2 <project xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd" xmlns="/POM/4.0.0"3 xmlns:xsi="/2001/XMLSchema-instance">4 <modelVersion>4.0.0</modelVersion>5 <parent>6 <groupId>me.gacl</groupId>7 <artifactId>system-parent</artifactId>8 <version>1.0-SNAPSHOT</version>9 </parent>1011 <artifactId>system-domain</artifactId>12 <packaging>jar</packaging>1314 <name>system-domain</name>15 <url></url>16 </project>三、创建sytem-dao模块在命令行进入创建好的system-parent目录,然后执行下列命令:mvnarchetype:create -DgroupId=me.gacl -DartifactId=system-dao -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false如下图所示:命令执行完成之后可以看到在system-parent目录中生成了system-dao,里面包含src目录和pom.xml文件。

如下图所示:同时,在system-parent目录中的pom.xml文件自动变成如下内容:1 <?xml version="1.0" encoding="UTF-8"?>2 <project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0/xsd/maven-4.0.0.xsd">3 <modelVersion>4.0.0</modelVersion>45 <groupId>me.gacl</groupId>6 <artifactId>system-parent</artifactId>7 <version>1.0-SNAPSHOT</version>8 <packaging>pom</packaging>910 <name>system-parent</name>11 <url></url>1213 <properties>14 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>15 </properties>1617 <dependencies>18 <dependency>19 <groupId>junit</groupId>20 <artifactId>junit</artifactId>21 <version>3.8.1</version>22 <scope>test</scope>23 </dependency>24 </dependencies>25 <modules>26 <module>system-domain</module>27 <module>system-dao</module>28 </modules>29 </project>修改system-dao目录中的pom.xml文件,,把<groupId>me.gacl</groupId>和<version>1.0-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,因为groupId和version会继承system-parent中的groupId和version,packaging设置打包方式为jar,同时添加对system-domain模块的依赖,修改后的内容如下:1 <?xml version="1.0"?>2 <project xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd" xmlns="/POM/4.0.0"3 xmlns:xsi="/2001/XMLSchema-instance">4 <modelVersion>4.0.0</modelVersion>5 <parent>6 <groupId>me.gacl</groupId>7 <artifactId>system-parent</artifactId>8 <version>1.0-SNAPSHOT</version>9 </parent>1011 <artifactId>system-dao</artifactId>12 <packaging>jar</packaging>1314 <name>system-dao</name>15 <url></url>16 <properties>17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>18 </properties>19 <dependencies>20 <!--system-dao需要使用到system-domain中的类,所以需要添加对system-domain 模块的依赖-->21 <dependency>22 <groupId>me.gacl</groupId>23 <artifactId>system-domain</artifactId>24 <version>${project.version}</version>25 </dependency>26 </dependencies>27 </project>四、创建system-service模块在命令行进入创建好的system-parent目录,然后执行下列命令:mvnarchetype:create -DgroupId=me.gacl -DartifactId=system-service -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false如下图所示:命令执行完成之后可以看到在system-parent目录中生成了system-service,里面包含src 目录和pom.xml文件。

相关文档
最新文档