Mave项目管理实战演练
作者:李俊杰
Mave项目是开放源代码公司Apache的又一力作,是项目管理的利器,是针对Ant项目的不足而开发的,除了拥有Ant的构建项目的特色外,还有项目高级管理工具,项目管理者可以轻松地了解项目的各种情况。
下面结合本人对Maven的了解和实践,特总结如下:
u Maven的下载和安装
u Maven的配置和管理
u Maven项目继承问题说明
u Maven和VSS集成
u Maven 定制javadoc
u 常用的命令goal
u Maven注意事项
Maven的下载和安装
1) 下载Maven,在http://maven.apache.org/start/download.html地址下载Maven的最新版本(点击windows.exe,我的操作系统是windows),即到如下下载地址 http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-1.0.2.exe,我使用Http下载(点击http://apache.justdn.org/maven/binaries/maven-1.0.2.exe)下载到本地。(在网上看到许多网友下载Maven失败,所以加以详细说明)
2) 安装Maven,如果你的机器上没有安装j2sdk,安装将j2sdk,然后设置java-home(windows:我的电脑(右键)->属性->高级->环境变量->用户变量->新建(如:java-home C:/j2sdk1.4.2_01)),然后就可以直接运行maven-1.0.2.exe顺利安装。
3) 设置maven-home,类似于设置java-home,根据Maven的安装路径(${maven-home})设置如 maven-home d:/Maven1.02
4) 汉化Maven的dos控制台输出,用解压缩工具(如WinRar)打开${maven-home}/lib/maven.jar,找到并拖出org\apache\maven\messages\Message_zh_CN.properties,如果Message_zh_CN.properties文件的编码不是美国信息互换标准代码(ASCII),则使用java中的nativie2ascii命令把Message_zh_CN.properties转变为美国信息互换标准编码(ASCII)。并把转换后的文件名称也命名为Message_zh_CN.properties,然后拖入maven.jar的org\apache\maven\messages\中,覆盖原来的文件。转换步骤:打开dos界面,进入D:\bea\jdk141_03\bin>native2ascii Message_zh_CN.properties test.properties ,然后再把test.properties,重命名为Message_zh_CN.properties。
5) 开始->运行->cmd->进入dos界面,然后输入maven回车,如出现下面的情况,则说明安装成功。
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:\Documents and Settings\lijj>maven
- __ __
- | \/ |__ _Apache__ ___
- | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
- |_| |_\__,_|\_/\___|_||_| v. 1.0.2
-
- BUILD SUCCESSFUL
- Total time: 1 seconds
- Finished at: Thu Mar 03 <time minute="55" hour="16"></time>16:55:06 CST 2005
-
Maven的相关配置和管理
Maven的主要组件包括项目对象模型(Project Object Model POM),资源库(Repository)和目标(goals),现在根据实际例子来说明各个组件。其中项目对象模型一般是用project.xml来管理项目,而Repositroy主要提供项目所需要的jar文件,包括不同的版本,goals主要包括maven.xml和相关的插件(plugs)。
另外还包括属性文件如project.properties,build.properties.。属性文件的优先级是${user.home}/build.properties,${basedir}/build.properties,${basedir}/project.properties,(其中${user.home}表示本用户目录如C:\Documents and Settings\lijj,${basedir}表示项目project.properties所在目录,如D:\maventest)优先级前者最高,后者最低。即后者定义了某属性,前者也定义了该同名的属性,则以前者为准。由于Maven在项目管理方面有继承的概念,但不适合于build.properties文件。所以我们在项目管理中一般不用build.properties,只用project.properties文件来定义项目所需的属性。
创建项目
象我们平常创建项目一样,创建一个工作目录(d:/maventest),并把相关项目文件(如jsp,java,properties,img,js,xml等等)copy到该目录下
创建项目所需要的lib(即.jar文件)
因为maven倡导的思想是通过网络来实现项目管理,因此使用CVS来控制版本,我们现在更多的是采用VSS(source safe)来控制版本。Maven的Repository就体现了集中管理资源的思想,根据项目所要用到的jar资源文件进行网络统一管理,而我们现在更趋向于使用本机的资源文件。
1)首先在项目的属性文件project.properties中定义
##本地资源位置
maven.repo.local=d:/Maven 1.0.2/repository
##是否使用远程repository
maven.repo.remote.enabled=false
2)其次在本地的资源库中创建该项目所要使用lib,如d:/Maven 1.0.2/repository/bjcy/jars,然后把该项目所用的jar 文件copy到该目录(d:/Maven 1.0.2/repository/bjcy/jars)下,weblogic.jar, appmodules.jar,opendata.jar等等,使用解压缩工具(如WinRar)打开这些jar文件,找META-INF目录下的MANIFEST.MF文件,如果没有找到表明没有版本说明,则修改文件名(如jarname.jar->jarname-.jar,在文件名后加一横线),如果找到MANIFEST.MF文件,打开后看到Manifest-Version: 1.0,则表示该jar文件的版本号为1.0,修改文件名(如jarname.jar->jarname-1.0.jar)
3) 最后在project.xml文件中写明该项目要依赖的资源
<!-- jar files the project is dependent on -->
<dependencies>
<dependency>
<groupId>bjcy</groupId>
<artifactId>weblogic</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>bjcy</groupId>
<artifactId>appmodules</artifactId>
</dependency>
。。。。。。。。。
</dependencies>
该文档表示weblogic.jar文件的版本是1.0,appmodules.jar文件没有版本说明,且所有要依赖的jar都在bjcy/jars下面。
project.xml文件说明
project.xml是Maven项目管理的核心文件,主要说明项目的必须的内容
<?xml version="1.0" encoding="gb2312"?>
<!--encoding=”gb2312”表示支持中文-->
<project>
<!-- the version of maven's project object model -->
<pomVersion>3</pomVersion>
<!-- a unique name for this project -->
<id>prjcyspapp</id>
<!-- a short but descriptive name for the project -->
<name>prjcyspapp</name>
<!-- The version of the project under development, e.g.
1.1, 1.2, 2.0-SNAPSHOT -->
<currentVersion>1.0</currentVersion>
<!-- details about the organization that 'owns' the project -->
<organization>
<name>北京××××软件公司</name>
<url>http://www.apache.org/</url>
<logo>http://maven.apache.org/images/jakarta-logo-blue.gif</logo>
</organization>
分享到:
相关推荐
内容概要:本文介绍了Maven作为强大项目管理工具的下载安装步骤,基本配置方法,常用命令,POM文件的编写规则,资源管理和过滤的方法,插件的使用技巧,并通过构建一个简单的Java Web项目作为实战演练。同时,文章...
10. **实战演练**:根据提供的"请看一下我的描述.txt"和"pet"文件,我们可以推测这是一个关于宠物数据的示例。你可以尝试创建一个Pet实体类,定义Repository接口,然后实现添加、查找和更新宠物的示例。这将有助于你...
深入解析,实战演练:指南不仅停留在基础操作上,更深入解析了Maven的核心概念和依赖管理机制,并通过实战案例让你真正掌握Maven的使用技巧。 Markdown格式,清晰易读:采用Markdown格式编写,文章结构清晰,易于...
1. Maven项目管理:Maven是Java项目构建和依赖管理的工具,通过POM(Project Object Model)文件定义项目配置,自动下载所需的库文件,简化项目的构建过程。学习Maven,你需要理解其基本概念,如仓库、生命周期和...
13. 实战演练:提供一个实际的案例,一步步演示创建、配置、运行和部署一个完整的基于Maven的Web项目。 尽管"赚钱项目"不在文件名列表中,但它可能暗示了这个教程可能与利用这个技术来创建能带来收入的Web应用有关...
7. **实战演练**:通过一个实际的案例,展示如何使用这些技术开发一个简单的CRUD应用,包括用户登录、注册、数据展示等功能。 通过这节课的学习,开发者将能够掌握SSH框架的使用,理解Maven在项目管理中的角色,...
- **Maven**:Apache Maven是一款基于项目对象模型(POM)的软件项目管理和理解工具。通过一系列标准生命周期构建项目,简化了项目的构建、依赖管理和文档生成等工作。 - **Nexus**:Nexus Repository Manager是一个...
本实战指南结合了Maven(项目管理和构建工具)、SVN(Subversion,版本控制系统)以及Tomcat(一个广泛使用的Java应用服务器),构建了一个完整的持续集成流程。 首先,我们需要理解Jenkins的核心功能。Jenkins提供...
相信很多小伙伴在学习完SSM三大架构以后,不知道该...项目管理:MAVEN 开发工具:IntellijIDEA 开发环境:Windows 从这个项目中你可以完整独立地体验从前端到后台的搭建过程,以及使用SSM框架完成后台的CRUD整个流程。
在这个"[SSH+Maven+Bootstrap视频教程]_第 四十五 讲.zip"的压缩包中,我们聚焦于三个核心的IT技术:Struts、Spring和Hibernate(SSH),Maven项目管理和Bootstrap前端框架。这些技术在Java开发领域中占据着重要的...
总的来说,这个项目涵盖了SpringBoot核心特性、Web开发、数据库操作、前端技术等多个方面的知识,是Java开发者的实战演练平台,对于理解SpringBoot在实际项目中的应用,以及提升Java Web开发能力,具有很高的价值。...
Maven 是一个强大的项目管理工具,尤其在 Java 开发领域中广泛使用。它简化了构建、依赖管理和项目信息管理,使得开发人员可以专注于编写代码,而无需过于关心构建过程的细节。本训练资料“maven_training1”将引导...
本书旨在帮助读者掌握MyEclipse 6的使用技巧,提升开发效率,并通过实例进行实战演练。 1. **MyEclipse 6基础** - MyEclipse 6的安装与配置:包括下载、安装过程,以及环境变量设置和插件管理。 - 工作空间与项目...
通过"myIdeaPro"项目,你可以实战演练Maven的各个功能,从创建项目、管理依赖到构建和部署,全面提升你的Java开发技能。这个小项目不仅可以作为练手之用,也是提升技术的绝佳途径。在实践中不断探索和学习,你将在...
使用场景主要包括初学者通过此项目实战训练增强对 OOP 思想的理解,同时亦能够掌握常见文件 I/O 接口的应用,熟悉 Maven 工具进行项目管理和部署的具体方法。 由于本文不仅有详细的代码样例供参考研究,在理论阐述...
7. **Maven或Gradle**:构建工具的学习,如Maven或Gradle,它们能自动化构建过程,管理依赖关系,确保项目的一致性和可重复性。 8. **版本控制Git**:掌握Git的基本操作,如克隆、提交、分支和合并,这对于协作开发...
Maven是Java项目管理工具,它通过POM(Project Object Model)文件管理项目的依赖、构建过程等。在这个项目中,将源码整理成Maven工程意味着你可以轻松地导入IDE,如IntelliJ IDEA或Eclipse,利用Maven的依赖管理和...
在本Java实战教程中,我们将深入探讨如何创建项目并搭建一个企业级的员工信息管理系统。这个教程基于一种经典的Java技术栈——SSH(Spring、Struts和Hibernate),并且结合了jQuery和Bootstrap来提升前端用户体验。...
本项目是针对Java初学者和大学生设计的一次实战演练,主要目标是设计并实现一个网上体育商城系统。这个系统能够帮助学生深入理解Java编程在实际项目中的应用,增强其软件开发经验。通过此项目,你可以了解到Java Web...
使用场景及目标:本文档提供了一步一步的具体实现指南以及源码范例,使开发者可以通过实际动手进行编码和修改项目,在实战演练中学懂整个应用层的设计思路和逻辑框架。 注意事项:该项目使用了 Maven 来管理构建生命...