`
noside
  • 浏览: 5706 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Maven学习笔记(三.用于Web项目中)

 
阅读更多

看了一段时间网上的教程,也会用了一些功能,于是尝试把Maven应用于我自己的Web项目中。

 

其实把Maven用在web项目中非常简单,Maven本来就有这样的功能(site)。

 

新建Maven项目,只需设置pom.xml中的packaging为war,增加相关的依赖,这里有个sample

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.noside</groupId>
  <artifactId>nportal</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <description>	</description>
  <properties>
	<spring.version>3.0.5.RELEASE</spring.version>
	<log4j.version>1.2.16</log4j.version>	
  </properties>
  <dependencies>
		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
		  <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${spring.version}</version>
			<exclusions>
				<exclusion>
					<groupId>quartz</groupId>
					<artifactId>quartz</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
        	<groupId>log4j</groupId>
        	<artifactId>log4j</artifactId>
        	<version>${log4j.version}</version>
        </dependency>
        <dependency>  
		    <groupId>commons-logging</groupId>  
		    <artifactId>commons-logging</artifactId>  
		    <version>1.0.4</version>  
		    <exclusions>  
		        <exclusion>  
		            <groupId>javax.servlet</groupId>  
		            <artifactId>servlet-api</artifactId>  
		        </exclusion>  
		    </exclusions>  
		</dependency>
        <dependency>  
		    <groupId>javax.servlet</groupId>  
		    <artifactId>jstl</artifactId>  
		    <version>1.2</version>
		</dependency>
        <dependency>  
		    <groupId>commons-dbcp</groupId>  
		    <artifactId>commons-dbcp</artifactId>  
		    <version>1.3</version>
		</dependency>
        <dependency>  
		    <groupId>mysql</groupId>  
		    <artifactId>mysql-connector-java</artifactId>  
		    <version>5.1.13</version>
		</dependency>
  </dependencies>
</project>

 

完成了pom.xml,需要在/{project_home}/src/main/webapp里面增加目录"WEB-INF",再在"WEB-INF"里面增加web.xml文件。到这里就完成了构建工作。

 

构建只需简单右键项目->Run as->Maven package,生成的war包回存放于target文件夹中。

 

相比于Ant,Maven实在是太简单了,因为Maven不需要自己编写说明项目源码放在什么地方,资源文件放在哪里,编译后放在哪里,Maven已经帮我们这样做了,唯一的代价就是需要依照Maven规定的项目结构(否则需要增加插件,指明源码与目标路径,这样的话相比Ant貌似没有优势)。

 

一连三篇文章,简述了我在一般项目中如何使用Maven,但是Maven的学习不仅仅这么少,Maven作为一个项目管理工具,不仅仅是依赖管理与build项目而已。下面列举一些Maven需要学习的重点

1.Maven配置,包括settings的配置(大陆居然访问不到Maven主仓库……settings配置就非常重要了),包括如何建立私有仓库,项目团队如何使用仓库。

2.Maven生命周期

3.Maven管理项目模块,有时我们把一个项目分成core、web、dao等几部分

4.Maven插件

5.Maven作为持续集成管理

……

 

 

 

分享到:
评论
2 楼 noside 2011-12-21  
mlzboy 写道
怎么生成一个大的war包或是jar包呢?,我也正学习,默认好像生成的war包和jar包,没有把其它包也包含进去啊,

默认的packaging=war已经把其他jar包含进去了
1 楼 mlzboy 2011-12-18  
怎么生成一个大的war包或是jar包呢?,我也正学习,默认好像生成的war包和jar包,没有把其它包也包含进去啊,

相关推荐

    201205_Maven学习笔记2.rar

    【标题】"201205_Maven学习笔记2.rar" 涉及到的是 Maven,这是一个在软件开发中广泛使用的项目管理和综合工具。Maven 提供了一种标准化的方式来构建、文档化以及管理Java项目,它通过一个项目对象模型(Project ...

    Maven学习笔记.docx

    对于中小型项目,Maven则可以按照传统的Web、Service和Dao三层架构进行划分,便于团队分工协作。 Maven的另一个亮点是其**一键构建**功能。通过简单的命令行指令,如`clean`用于清除编译生成的临时文件,`compile`...

    maven学习笔记1--myeclipse10中的配置

    【标题】"maven学习笔记1--myeclipse10中的配置" 在IT行业中,Maven和MyEclipse是两个非常重要的工具,它们在软件开发过程中扮演着关键角色。Maven是一个项目管理工具,主要用于Java项目的构建、依赖管理和项目信息...

    maven学习笔记

    ### Maven 学习笔记 #### 一、Maven 概述 Maven 是一款非常流行的自动化构建工具,它主要用于 Java 项目的构建与依赖管理。通过 Maven,开发者可以轻松地完成项目的清理、编译、测试、打包、发布等一系列操作。...

    Maven学习笔记

    聚合和继承是Maven中用于管理和维护大型项目的两个重要概念。聚合允许将多个模块的构建信息聚合到一个总的POM文件中,这样就可以一次性构建多个模块。继承则是为了保持项目结构的统一性,允许父POM文件定义一些公共...

    从零开始学maven,maven学习笔记

    对于Web项目,还需要指定`archetypeArtifactId=maven-archetype-webapp`。在IDE如Eclipse中,可以通过安装Maven插件,然后选择“New -&gt; Maven Project”来创建Maven项目。 总的来说,Maven通过其依赖管理和标准化的...

    Maven开发者笔记

    常见的Maven插件有Surefire Plugin用于运行单元测试,Failsafe Plugin负责集成测试,JAR Plugin用于打包Java应用,WAR Plugin则适用于Web应用的构建。书中会涵盖如何配置和使用这些插件,以满足不同项目需求。 除此...

    maven学习资源整理

    ** Maven学习资源整理** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。本资源包是为初学者和有经验的开发者准备的一系列Maven学习资料,旨在帮助你更好地理解和...

    Maven 构建SpringMVC项目学习笔记

    - **赋予SpringMVC特性**:在`web.xml`中配置两个关键组件。首先,配置`ContextLoaderListener`,使得应用以Spring的方式启动,它会在`/WEB-INF`目录下寻找`applicationContext.xml`作为Spring容器的配置。其次,...

    maven-聚合项目-springMVC

    在"maven学习笔记"中,我们可以深入学习如何配置POM.xml文件,理解Maven的生命周期和构建过程。 **Spring MVC**是Spring框架的一个模块,专门用于处理Web应用的请求-响应模型。它采用模型-视图-控制器(MVC)设计...

    Web Service学习笔记

    在本学习笔记中,我们将深入探讨Web服务的核心概念、技术栈以及实际案例。 一、Web服务的核心概念 1. **SOAP (Simple Object Access Protocol)**:SOAP是一种基于XML的协议,用于交换结构化信息,是Web服务的基础...

    Flink学习笔记.docx

    Flink 学习笔记 Apache Flink 是近年来越来越流行的一款开源大数据计算引擎,它同时支持了批处理和流处理。Flink 的主要特点是它可以实时处理大规模数据,并且可以与其他大数据处理工具集成,例如 Hadoop、Spark 等...

    基于ssm云的学习笔记系统.zip

    在这个项目中,开发者可能已经实现了一个功能完备、易于使用的在线学习笔记平台。下面将对这个项目涉及的关键知识点进行详细讲解。 1. **Spring框架**:Spring是Java企业级应用开发的核心框架,提供了依赖注入(DI)...

    Maven指南阅读笔记

    在阅读"Maven指南"的过程中,我们可以学习到几个关键知识点,包括:解决依赖冲突、排除不必要的传递性依赖、处理已提供构件以及利用`dependencyManagement`元素和`parent`元素的区别。 首先,当我们遇到`groupId`和...

    Maven3实战笔记(全)

    通过阅读《Maven3实战笔记(全)》,开发者不仅可以掌握Maven的基本操作,还能了解到如何高效地利用Maven解决实际项目中的问题,提升开发效率。书中生动的实例和幽默的讲解方式,使得学习过程更为轻松愉快。对于任何...

Global site tag (gtag.js) - Google Analytics