`
xuehongliang
  • 浏览: 94988 次
  • 性别: Icon_minigender_1
  • 来自: 辽宁
社区版块
存档分类
最新评论

使用MAVEN进行工程自动化构建

    博客分类:
  • java
阅读更多

最近学习了一下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) 在弹出的界面中输入Namem2plugin  URLhttp://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 打包的类型(例如:JARWAREAR等等)默认为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,需要显式提供包含依赖的jarMaven不会在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>

填加依赖的时候是比较麻烦的,因为groupIdartifactIdversion是必填项,有时候不知道用哪个版本,有一个小的窍门:

首先进入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
产生sitemvn site
打包:mvn package
在本地Repository中安装jarmvn install
清除产生的项目:mvn clean<o:p></o:p>

分享到:
评论

相关推荐

    maven构建项目工程

    通过Maven,开发者可以轻松地管理项目依赖,自动化构建流程,包括编译、测试、打包、部署等,大大提高了开发效率。同时,Maven的插件系统使得扩展功能变得简单,可以支持各种构建需求。因此,掌握Maven对于Java...

    maven工程在tomcat服务器上的自动化部署

    标题中的“maven工程在tomcat服务器上的自动化部署”指的是使用Maven构建工具与Tomcat应用服务器相结合,实现Java Web项目自动部署的过程。这个过程旨在提高开发效率,减少手动部署的繁琐步骤,使得每次代码更新后都...

    Spring in Action 使用Maven 构建Spring 工程

    《Spring in Action》一书是Spring框架的实践指南,它深入介绍了如何使用Maven构建Spring工程。Maven是一个流行的项目管理和综合工具,它通过提供一套标准化的构建过程,简化了Java项目的构建、依赖管理和部署。在...

    Maven-项目管理和构建自动化工具

    ### Maven—项目管理和构建自动化工具 #### Maven简介 Maven是一个强大的项目管理和构建自动化工具,主要服务于基于Java的项目。它的核心功能在于帮助开发者轻松管理项目依赖、编译、测试、打包、部署等一系列构建...

    Maven构建的分布式demo

    Maven可以与Jenkins、GitLab CI/CD等工具结合,实现自动化构建、测试和部署,确保快速反馈和稳定运行。 8. **分布式配置管理**:在大型分布式系统中,配置管理是个挑战。Spring Cloud Config或HashiCorp Consul等...

    maven多工程搭建过程

    Maven是一个基于项目对象模型(Project Object Model,POM)的概念,它能够自动化构建、测试、部署和文档生成。通过定义项目依赖关系和构建生命周期,Maven简化了大型项目的管理。 二、Idea中的Maven集成 IntelliJ ...

    maven-项目管理和构建自动化工具的概要介绍与分析

    ### Maven:项目管理和构建自动化工具的概要介绍与分析 #### Maven概述 Apache Maven 是一款在 Java 开发领域内享有盛誉的项目管理和构建自动化工具。尽管它最初是为了支持 Java 项目而设计的,但随着时间的发展,...

    Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud实现自动化构建镜像与部署详解

    初衷想法:在学习过程中遇到比较有趣的问题、然而花了点心血和时间去整理,然而进行梳理出来一份文章比较完整有知识体系的DevOps自动化构建与部署工程文章,技术知识内容比较多,而且文章内容较长,然而分了几个章程...

    本地maven工程自动发布

    在IT行业中,自动化的构建和部署流程是提升...总之,本地Maven工程的自动发布涉及到Maven的使用、Shell脚本编写、服务器配置以及自动化部署策略等多个环节,理解并掌握这些知识点对于提升开发效率和运维质量至关重要。

    hibernate+maven demo项目工程

    **Maven** 是Java项目管理的一个关键工具,它负责自动化构建、依赖管理和项目信息管理。在这个项目中,Maven通过其配置文件pom.xml来管理所有必需的库和插件。开发者无需手动下载和添加依赖,只需在pom.xml中声明所...

    在eclipse中不使用maven创建springboot工程所需jar包

    在Eclipse中创建Spring Boot项目时,通常推荐使用Maven或Gradle来自动化依赖管理,因为它们可以自动下载并管理这些jar包及其依赖关系。然而,如果你选择手动管理,确保正确地把这些jar包添加到项目的类路径中,以...

    Maven3.5.4:构建管理领域的自动化工具,集成Java生态技术,优化项目内容与发布流程

    Maven是Java开发领域的项目管理和构建自动化工具,它基于项目对象模型(POM)的概念,通过配置文件(pom.xml)来管理项目的构建、报告和文档。Maven能够处理项目的依赖关系,自动下载所需的库和插件,并提供了一套...

    SpringBoot+maven构建Web项目(Maven父子工程)

    在IT行业中,SpringBoot和Maven是两个非常重要的工具,它们在构建Web应用程序时起着核心作用。SpringBoot简化了Spring框架的配置,...结合SpringBoot的自动化配置和Maven的依赖管理,可以打造出健壮、易维护的Web应用。

    第一个maven工程案例

    通过本案例,你可以学习如何创建一个基础的Maven工程,理解`pom.xml`的配置,并了解Maven的生命周期、依赖管理和构建过程。结合提供的`MavenTest`源码,你可以动手实践,进一步加深对Maven的理解。

    spring+maven项目工程

    Maven则是一个强大的项目管理和构建工具,它帮助开发者管理依赖、构建项目以及执行自动化测试。本项目工程"spring+maven"整合了这两者,以实现高效且易于维护的Java应用。 首先,让我们深入理解Spring框架的核心...

    maven逆向工程和分页插件

    在Java领域,Maven是一款广泛使用的项目管理和集成工具,它可以帮助开发者管理项目的依赖、构建流程以及打包发布等任务。在这个“maven逆向工程和分页插件”项目中,我们将探讨如何利用Maven集成逆向工程插件,以及...

    Maven大纲.pdf

    Maven是Apache软件基金会组织维护的一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。Maven这个单词的本意是:专家,内行。读音是['meɪv(ə)n]或['mevn]。 Maven简介: Maven是一个自动化构建工具,...

    maven工程转web工程

    在Java开发领域,Maven是一个广泛使用的构建工具,它能够帮助开发者管理项目依赖、构建工件以及执行自动化测试。然而,有时我们可能需要将一个普通的Maven工程转换为Web工程,以便于部署到Web服务器上运行。这个过程...

    maven工程在Jetty服务器上的自动化部署(开发者模式)

    描述虽然为空,但根据标题我们可以推测,内容可能涵盖如何配置Maven的插件,以自动化构建和启动Jetty服务器,以及如何设置开发者友好的工作流程,如热部署和错误调试。 **详细知识点** 1. **Maven基础**:Maven是...

Global site tag (gtag.js) - Google Analytics