Maven

Maven
Maven

? 1 Maven概述 (1)

1.1 为什么需要Maven? (1)

1.2 什么是MA VEN? (2)

?2环境的搭建 (2)

2.1在基于Windows下的系统上安装Maven (3)

2.2 Eclipse搭建maven过程 (4)

2.3 maven升级 (12)

? 3 maven基本概念详解 (12)

3.1 Maven生命周期详谈 (12)

3.2 Maven坐标 (13)

3.2.1什么是坐标?为什么要规划? (13)

3.2.2坐标规划原则 (13)

3.2.3 Classifier (14)

? 4 maven搭建web应用 (15)

4.1创建Maven项目 (15)

4.2运行mvn命令 (16)

? 1 Maven概述

1.1 为什么需要Maven?

先说一下Antx在存在哪些问题:

1. Antx第三方库的管理比较复杂,如果某个项目需要一个新的jar包或者新版本的jar包,则需要走一个严格申请流程,并且需要自己提交相关的jar包

2. Antx对jar包的版本控制,changelist等没有工具上的支持,导致很多项目都是1.0-SNAPSHOT从头用到尾,导致包版本比较不好控制。

3. Antx对SCM打包部署的支持不是很强。

4. Antx在于IDE的兼容性上存在问题,为了让eclipse支持antx,我们需要单独写一个antx 插件来让eclipse支持antx,对于其他的一些比较好的IDE比如Intellij IDEA,是不支持antx 的。

5. 现在IDE很多都有一键式DEBUG的功能,包括集成对应用服务器的支持,antx在这方面存在不足。

Maven能解决这些问题么,还有更好的优势么,答案是YES

1. Maven的库是由开源组织维护,不需要我们再花精力去管第三方库,即使自己维护,也比较方便。

2. Maven对jar包的版本管理有工具上的支持,比如将Release版本和Snapshot版本区分开,有利于SCM管理。

3. Maven是标准,用过的人多,不需要额外培训。

4. Maven的plugin比较多,可以有更多功能,Maven现有体系比较开放,采用的技术相对比较通用和成熟,plugin的机制也可以便于我们扩展更多功能。

5. Maven的库下载是即用即下,不需要实现全部down下来。Maven的插件也是自动升级,可以方便的

我们扩展新功能。

6. 可以很方便的与eclipse, IDEA这样的主流的IDE集成

7. 仓库管理器:它的出现有两个目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件(第二方库)的地方。

8. 版本管理功能,这里的版本管理不是指第三方库的版本管理,而是项目的版本管理

9. 站点功能:它的出现让我们可以对项目的状态一目了然,可以自动的把项目的状态和各种报表以站点的形式发布到内部网或者外部网,可以随时随地查看项目状态。有很多中报表可以选择,包括,doc生成,代码规范的检查,自动bug检查,单元测试报表,单元测试的代码覆盖率报表

1.2 什么是Maven?

成功的软件工程需要构建工具。在Java世界中,并不缺少这样的工具,Ant就是一个标准的典型。

Maven是另一种关于开放资源画面的项目管理/构建工具。与Ant相比,Maven是一个将Ant 概念中几个步骤深化了的项目管理工具。它不能建立在Ant之上,但它可以利用Ant构建脚本的优势,甚至生成这种脚本。

为了使用Maven,你首先必须创建一个项目对象模型(POM)。POM的默认值是project.xml 文件,它描述了程序及其相关性。Maven用POM来构建项目和相关文件。一旦你有了一个基本的project.xml文件,你可以把它用作你所有项目的模板。

Maven的目标大致和Ant的类似。Maven还有许多实用的预定目标,如关于编辑、配置、生成文件、生成Ant构建脚本、创建jars、wars、ears文件等,都要用到它。如果漏掉了什么,你可以随意加入自己想要的目标。

Maven两个最酷的特点是jar repositories和项目站点生成。Jar repositories是包含jar文件的本地或远程站点。当你在建立时间证明jar文件和POM的依赖关系时,Maven将自动将jar文件所需版本下载到本地存储库。这个特点可以让你更加轻松地构建项目。项目站点生成目标则是创建一个项目的专业网站,包括强调语法的源代码的链接、代码格式、javadoc、单体测试等等。

通常对Maven的一个抱怨是有时它很慢。一些开发人员已使用Maven来创建一个用来日常开发的Ant文件,然后用Maven分配他们的项目或作为晚上进程的一部分。

无论如何,Maven的这些特点至少让它值得你认真地考虑

2环境的搭建

2.1在基于Windows下的系统上安装Maven

Maven官方下载地址:https://www.360docs.net/doc/54595429.html,/dyn/closer.cgi/maven/binaries/maven-2.0.7-bin.zip

1Maven下载后,解压到本地目录,如:c:\ maven-2.0.7,配置maven环境变量M2_HOME,如图:,

2在path中添加bin目录,如图:

3启动cmd,输入mvn –version,回车,可以看到maven版本,如图:

说明maven安装正确;

4关于maven的使用,请参考网上资料,在此处不做描述,其中有一点需要说明;

5maven的配置文件有2个,一个是全局配置文件,在maven的安装目录下

conf/settings.xml,另一个是用户级别的配置文件,对于windows xp来说一般在C:\Documents and Settings\%username%\.m2下,其中%username%为操作系统登录用户名。

6若C:\Documents and Settings\%username%\.m2下面没有setting.xml文件,可以将conf/setting.xml拷贝到.m2目录下;

7在配置文件中,有一项配置本地资源库的位置,默认为C:\Documents and Settings\%username%\.m2\ repository,默认配置不是很合适,如修改本地资源库保存路径为maven 安装目录下,修改setting.xml文件,下找到localRepository标签,默认为注释掉的,在该注释段之外添加C:/maven-2.0.7/repository,为本地资源库保存位置,需要手动在mavne安装目录下创建repository目录;

8到此,jetty与maven环境搭建完毕,关于maven构建本地库过程不在这里描述,网上大把资料;

2.2 Eclipse搭建Maven过程

下载安装eclipse过程不做描述了,网上大把的资料,若不熟悉的,请在网上找资料

启动eclipse,Help->Software Updates->Find and Install,如图:

出现Feature Updates 界面,选择Search for new features to install,如下图

点击next,显示Update sites to visit界面,如下图

我们需要新建立jetty与maven的插件更新站点,点击New Romote Site,输入name:jetty

URL:https://www.360docs.net/doc/54595429.html,/updates/

显示如下图:

https://www.360docs.net/doc/54595429.html,/update/ 地址

选中(只用选maven)需要更新的站点,点击Finish,出现如下图:

Eclipse会查询到更新的插件,如下图:

打开maven前面的加号,选择合适的版本,

Eclipse3.2.2版本的maven插件也只有一个,选中

注意这里的选项要是全选会出错提示缺少相应的jar 这里只需要点上maven Integration maven Integration for Eclipse 这里可能会出现2个你就点不出错的那个就行了

点击next,eclipse开始下载maven插件,该插件有15490K,下载比较慢

下载完成后,显示如下:

点击Install All,执行安装

重新启动eclipse后,点击run

可以看到maven安装成功,如下图:

首次点击maven时,eclipse会根据配置的M2_HOME寻找本地资源库位置,若setting.xml 文件内本地资源库位置做了修改,eclipse会使用修改过的路径,若没做修改,会使用默认的路径,即.m2目录下的repository

2.3 Maven升级

Maven还比较年轻,更新比较频繁,因此用户往往会需要更新Maven安装以获得更多更酷的新特性,以及避免一些旧的bug。

在Windows上更新Maven非常简便,只需要下载新的Maven安装文件,解压至本地目录,然后更新M2_HOME环境变量便可。例如,假设Maven推出了新版本3.1,我们将其下载然后解压至目录D:\bin\apache-maven-3.1,接着遵照前一节描述的步骤编辑环境变量M2_HOME,更改其值为D:\bin\apache-maven-3.1。至此,更新就完成了。同理,如果你需要使用某一个旧版本的Maven,也只需要编辑M2_HOME环境变量指向旧版本的安装目录。

? 3 Maven基本概念详解

3.1 Maven生命周期详谈

Maven可以支持许多不同的生命周期,但是最常用的生命周期是默认的Maven生命周期,这个生命周期中一开始的一个阶段是验证项目的基本完整性,最后的一个阶段是把一个项目发布成产品。生命周期的阶段被特地留得含糊,单独的定义为验证(validation),测试(testing),或者发布(deployment),而他们对不同项目来说意味着不同的事情。例如,打包(package)这个阶段在一个项目里生成一个JAR,它也就意味着“将一个项目打成一个jar”,而在另外一个项目里,打包这个阶段可能生成一个W AR文件。

Maven执行一个阶段的时候,它首先会有序的执行前面的所有阶段,到命令行指定的那个阶段为止。每个阶段对应了零个或者多个目标。我们没有进行任何插件配置或者定制,所以这个例子绑定了一组标准插件的目标到默认的生命周期。当Maven经过以package为结尾的默认生命周期的时候,下面的目标按顺序被执行:

?resources:resources

Resources插件的resources目标绑定到了resources 阶段。这个目标复制src/main/resources下的所有资源和其它任何配置的资源目录,到输出目录。

?compiler:compile

Compiler插件的compile目标绑定到了compile 阶段。这个目标编译src/main/java下的所有源代码和其他任何配置的资源目录,到输出目录。

?resources:testResources

Resources插件的testResources目标绑定到了test-resources 阶段。这个目标复制src/test/resources下的所有资源和其它任何的配置的测试资源目录,到测试输出目录。

?compiler:testCompile

Compiler插件的testCompile目标绑定到了test-compile 阶段。这个目标编译src/test/java 下的测试用例和其它任何的配置的测试资源目录,到测试输出目录。

?surefire:test

Surefire插件的test目标绑定到了test 阶段。这个目标运行所有的测试并且创建那些捕

捉详细测试结果的输出文件。默认情况下,如果有测试失败,这个目标会终止。

jar:jar

Jar插件的jar目标绑定到了package 阶段。这个目标把输出目录打包成JAR文件。

总结得来说,当我们运行mvn package,Maven运行到打包为止的所有阶段,在Maven沿着生命周期一步步向前的过程中,它运行绑定在每个阶段上的所有目标。你也可以像下面这样显式的指定一系列插件目标,以得到同样的结果:

mvn resources:resources \

compiler:compile \

resources:testResources \

compiler:testCompile \

surefire:test \

jar:jar

运行package阶段能很好的跟踪一个特定的构建中包含的所有目标,它也允许每个项目使用Maven来遵循一组定义明确的标准。而这个生命周期能让开发人员从一个Maven项目跳到另外一个Maven项目,而不用知道太多每个项目构建的细节。如果你能够构建一个Maven 项目,那么你就能构建所有的Maven项目。

3.2 Maven坐标

3.2.1什么是坐标?为什么要规划?

坐标是Maven最基本的概念,它就像每个构件的身份证号码,有了它我们就可以在数以千万计的构件中定位任何一个我们感兴趣的构件。举个最简单的例子,如果没有坐标,使用JUnit的时候,用户就需要去下载依赖jar包,用依赖的方式,简单配置使用如junit:junit:4.8.2就可以了。这里第一个junit是groupId,第二个junit是artifactId,4.8.2是version。Maven的很多其他核心机制都依赖于坐标,其中最显著的就是仓库和依赖管理。对于仓库来说,有了坐标就知道在什么位置存储构件的内容,例如junit:junit:4.8.2就对应仓库中的路径/junit/junit/4.8.2/junit-4.8.2.pom和/junit/junit/4.8.2/junit-4.8.2.jar这样的文件,读者可以直接访问中央仓库地址看到这样的仓库布局,或者浏览本地仓库目录~/.m2/repository/以获得直观的体验。依赖的配置也是完全基于坐标的,例如:

junit junit 4.8.2 test

有了正确的坐标,Maven才能够在正确的位置找到依赖文件并使用,这里值为test的scope 是用来控制该依赖只在测试时可用,与坐标无关。

正因为坐标是Maven核心的核心,因此规划正确的坐标至关重要,如果你使用了模糊不清的坐标,那么你的用户就很难找到你的构件,或者即使找到了,也容易写错。错误的使用坐标,还会造成冲突,如果你也使用junit这样的groupId,那会发生什么?下面先看一些不是很规范的坐标使用方式。

3.2.2坐标规划原则

滥用坐标、错用坐标的样例比比皆是,在中央仓库中我们能看到SpringFramework有两种坐标,其一是直接使用springframework作为groupId,如springframework:spring-beans:1.2.6,另一种是用org.springframework作为groupId,如org.springframework:spring-beans:2.5。细心看看,前一种方式显得比较随意,后一种方式则是基于域名衍生出来的,显然后者更合理,因为用户能一眼根据域名联想到其Maven坐标,方便寻找。因此新版本的SpringFramework构件都使用org.springframework作为groupId。由这个例子我们可以看到坐标规划一个原则是基于项目域名衍生。其实很多流行的开源项目都破坏了这个原则,例如JUnit,这是因为Maven社区在最开始接受构件并部署到中央仓库的时候,没有很很严格的限制,而对于这些流行的项目来说,一时间更改坐标会影响大量用户,因此也算是个历史遗留问题了。

还有一个常见的问题是将groupId直接匹配到公司或者组织名称,因为乍一看这是显而易见的。例如组织是https://www.360docs.net/doc/54595429.html,,有个项目是dog,那有些人就直接使用groupId com.zoo了。如果项目只有一个模块,这是没有什么问题的,但现实世界的项目往往会有很多模块,Maven 的一大长处就是通过多模块的方式管理项目。那dog项目可能会有很多模块,我们用坐标的哪个部分来定义模块呢?groupId显然不对,version也不可能是,那只有artifactId。因此要这里有了另外一个原则,用artifactId来定义模块,而不是定义项目。接下来,很显然的,项目就必须用groupId来定义。因此对于dog项目来说,应该使用groupId com.zoo.dog,不仅体现出这是https://www.360docs.net/doc/54595429.html,下的一个项目,而且可以与该组织下的其他项目如com.zoo.cat区分开来。

除此之外,artifactId的定义也有最佳实践,我们常常可以看到一个项目有很多的模块,例如api,dao,service,web等等。Maven项目在默认情况下生成的构件,其名称不会是基于artifactId,version和packaging生成的,例如api-1.0.jar,dao-1.0.jar等等,他们不会带有groupId的信息,这会造成一个问题,例如当我们把所有这些构件放到Web容器下的时候,你会发现项目dog有api- 1.0.jar,项目cat也有api-1.0.jar,这就造成了冲突。更坏的情况是,dog项目有api-1.0.jar,cat项目有api- 2.0.jar,其实两者没什么关系,可当放在一起的时候,却很容易让人混淆。为了让坐标更加清晰,又出现了一个原则,即在定义artiafctId时也加入项目的信息,例如dog项目的api模块,那就使用artifactId dog-api,其他就是dog-dao,dao-service等等。虽然连字号是不允许出现在Java的包名中的,但Maven 没这个限制。现在dog-api-1.0.jar,cat-2.0.jar被放在一起时,就不容易混淆了。

关于坐标,我们还没谈到version,这里不再详述因为读者可以从Maven: The Complete Guide中找到详细的解释,简言之就是使用这样一个格式:

<主版本>.<次版本>.<增量版本>-<限定符>

其中主版本主要表示大型架构变更,次版本主要表示特性的增加,增量版本主要服务于bug 修复,而限定符如alpha、beta等等是用来表示里程碑。当然不是每个项目的版本都要用到这些4个部分,根据需要选择性的使用即可。在此基础上Maven还引入了SNAPSHOT的概念,用来表示活动的开发状态,由于不涉及坐标规划,这里不进行详述。不过有点要提醒的是,由于SNAPSHOT的存在,自己显式地在version中使用时间戳字符串其实没有必要。

3.2.3 Classifier

Classifier可能是最容易被忽略的Maven特性,但它确实非常重要,我们也需要它来帮助规划坐标。设想这样一个情况,有一个jar项目,就说是 dog-cli-1.0.jar 吧,运行它用户就能在命令行上画一只小狗出来。现在用户的要求是希望你能提供一个zip包,里面不仅包含这个可运行的jar,还得包含源代码和文档,换句话说,这是比较正式的分发包。

这个文件名应该是怎样的呢?dog-cli-1.0.zip?不够清楚,仅仅从扩展名很难分辨什么是Maven默认生成的构件,什么是额外配置生成分发包。如果能是dog-cli-1.0-dist.zip就最好了。这里的dist就是classifier,默认Maven只生成一个构件,我们称之为主构件,那当我们希望Maven生成其他附属构件的时候,就能用上classifier。常见的classifier还有如dog-cli-1.0-sources.jar表示源码包,dog-cli-1.0-javadoc.jar表示JavaDoc包等等。制作classifier的方式多种多样,其中最重要的一种是使用Maven Assembly Plugin.

4 Maven搭建web应用

4.1创建Maven项目

创建一个Maven项目也十分简单,选择菜单项File -> New -> Other,在弹出的对话框中选择Maven下的Maven Project,然后点击Next >,在弹出的New Maven Project对话框中,我们使用默认的选项(不要选择Create a simple project选项,那样我们就能使用Maven Archetype),点击Next >,此时m2eclipse会提示我们选择一个Archetype,我们选择maven-archetype-quickstart,再点击Next >。由于m2eclipse实际上是在使用maven-archetype-plugin插件创建项目,因此这个步骤与上一节我们使用archetype创建项目骨架类似,输入groupId,、artifactId、version、package(暂时我们不考虑Properties),如图3-3所示:

图3-3 在Eclipse中使用Archetype创建项目

注意,为了不和前面已导入的Hello World项目产生冲突和混淆,我们使用不同的artifactId 和package。OK,点击Finish,Maven项目就创建完成了,其结构与前一个已导入的Hello World 项目基本一致。

4.2运行mvn命令

我们需要在命令行输入如mvn clean install之类的命令来执行maven构建,m2eclipse中也有对应的功能,在Maven项目或者pom.xml上右击,再选择Run As,就能看到如下的常见Maven命令,如图3-4所示:

图3-4 在Eclipse中运行默认mvn命令

选择想要执行的Maven命令就能执行相应的构建,同时我们也能在Eclipse的console中看到构建输出。这里常见的一个问题是,默认选项中没有我们想要执行的Maven命令怎么办?比如,默认带有mvn test,但我们想执行mvn clean test,很简单,选择Maven buid… 以自定义Maven运行命令,在弹出对话框中的Goals一项中输入我们想要执行的命令,如clean test,设置一下Name,点击Run即可。并且,下一次我们选择Maven build,或者使用快捷键Alt + Shift + X, M快速执行Maven构建的时候,上次的配置直接就能在历史记录中找到。图3-5就是自定义Maven运行命令的界面:

Maven 使用指南

Maven 使用指南(1): 概述 觉得在介绍Hibernate 之前有必要先介绍一下Maven的使用。下面摘自维基百科。 Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 简单的说Maven主要用来编译Java项目,使用XML来描述项目的组成部分:代码,资源及依赖关系。其主要目的是: 简化编译(build)过程 提供一个标准的编译系统 通过高质量的项目信息 为良好开发过程提供指南 平稳过渡添加新功能 下面给出一个简单的Maven项目的POM(Project Object Model)文件,pom.xml 的作用类似makefile 或是 https://www.360docs.net/doc/54595429.html, 的 .prj .sln 文件 双击代码全选 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 4.0.0 com.mycompany.app my-app 1.0 junit junit 3.8.1 test

MAVEN使用最佳实践

MA VEN使用最佳实践 闫国玉2009-10-26 本文档介绍一些在使用Maven过程中不是必须的,但十分有用的实践。 目录 1.1设置MA VEN_OPTS环境变量 (2) 1.2配置用户范围SETTINGS.XML (2) 1.3不要使用IDE内嵌的M A VEN (3) 1.4搭建内部仓库管理器 (4) 1.5尽可能的遵循M A VEN的约定 (5) 1.6优先编译被依赖的模块 (5) 1.7利用M A VEN插件创建项目 (5)

1.1设置MAVEN_OPTS环境变量 当Maven项目很大,或者你运行诸如mvn site 这样的命令的时候,maven运行需要很大的内存,在默认配置下,就可能遇到java的堆溢出。解决的方法是调整java的堆大小的值。 Windows环境中 找到文件%M2_HOME%\bin\mvn.bat ,这就是启动Maven的脚本文件,在该文件中你能看到有一行注释为: @REM set MA VEN_OPTS=-Xdebug -Xnoagent https://www.360docs.net/doc/54595429.html,piler=NONE... 它的意思是你可以设置一些Maven参数,我们就在注释下面加入一行: set MA VEN_OPTS= -Xms128m -Xmx512m 之后,当你运行Maven命令如mvn -version 的时候,你会看到如下的输出: E:\test>mvn -version E:\test>set MA VEN_OPTS= -Xms128m -Xmx512m Maven version: 2.0.9 Java version: 1.6.0_07 OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows" 我们看到,配置的Maven选项生效了,OutOfMemoryError也能得以相应的解决。 Linux环境中 也可以通过设置环境变量解决该问题,如,编辑文件/etc/profile 如下 MA VEN_OPTS=-Xmx512m export JA VA_HOME MA VEN_HOME MA VEN_OPTS JA V A_BIN PATH CLASSPATH 如果你使用Hudson 用Hudson + Maven做持续集成,并不幸也遇到了类似的错误,那么上述两种方式都将不再起作用了,因为Hudson使用自己的maven-agent来启动Maven,不会去调用Maven的脚本,自然相应的配置也就无效了。 好在Hudson也给为我们提供了配置点,在Hudson的项目配置页面中,有一块Build区域,这里我们已经设置了Root Pom和Goals。注意该区域的右下角有一个"Advanced..."按钮,点击会看到MA VEN_OPTS输入框,这里输入"-Xmx512m"就OK了。 m2eclipse中 类似以上的方法都会失效,所幸m2eclipse提供了配置点。步骤如下: 项目上右击-> Run As -> Run Configurations -> Maven Build 上右击-> New 这时会看到一个maven运行配置对话框,这里面其它的配置我不多解释了,为了解决内存溢出的问题,我们可以选择第二个TAB: JRE,然后在VM arguments中输入配置如:-Xms128m -Xmx512m。 1.2配置用户范围settings.xml Maven用户可以选择配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是全局范围的,整台机器上的所有用户都会直接收到该配置的影响,而后者是用户范围的,只有当前用户才会收到该配置的影响。 我们推荐使用用户范围的settings.xml,主要是为了避免无意识地影响到系统中其他用户,当然,如果你有切实的需求,需要统一系统中所有用户的settings.xml配置,则当然应该使用全局范围的settings.xml。 除了影响范围这一因素,配置用户范围settings.xml文件还能够方便Maven的升级。直接修改conf目录下的settings.xml会造成Maven升级的不便,每次升级到新版本的Maven,我们就需要赋值settings.xml文件,而如果使用~/.m2目录下的settings.xml,就不会影响到Maven安装文

Maven配置

maven安装+maven本地仓库配置+maven镜像 1.安装maven前我们电脑上要确保安装了JDK1.6以上的版本 2.下载Maven Maven官网下载地址是https://www.360docs.net/doc/54595429.html,/download.html 下载apache-maven-3.2.5后,解压到你想要解压的地方 我本地解压到D:\Program Series\Tools\Apache-maven这个路径下 3.然后在配置maven的环境变量: MAVEN_HOME D:\Program Series\Tools\Apache-maven\3.2.5 PATH %MAVEN_HOME%bin

配置好以后环境变量以后,打开cmd窗口,输入mvn -v,如果出现以下内容就表示安装成功。 4.然后我们给maven添加本地的仓库地址 解压后的maven目录下找到conf目录,其中就会有一个setting.xml文件 我本地的地址是D:\Program Series\Tools\Apache-maven\3.2.5\conf 然后通过编辑器找到第53行,把注释去掉,修改成自己想要设置的本地仓库地址就可以了。我本地设置在maven的安装目录同级目录下 mvn文件夹的名字可以随便取,但是一定要确保设置的仓库地址是有效的地址,因为maven 是不会自动创建这个mvn文件夹的。 5.实验一下刚才做的事情产生作用没有,控制台输入: mvnhelp:system 如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了。Maven的安装配置和本地仓库地址的配置就已经结束了。 国内较快的maven镜像 国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用。 ====================国内OSChina提供的镜像,非常不错=================== CN OSChina Central https://www.360docs.net/doc/54595429.html,/content/groups/public/ central ======================================================== OSChina Maven 库使用帮助 ==================其他maven仓库镜像========================== repo2

java软件工程师顶岗实习报告

实习报告 一、实习目的 进一步了解Java开发的相关知识,掌握Java开发的基本技术,丰富Java开发的实战经验。学习SQL的基础知识及正确的运用方法,ssh等企业应用框架和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。 二、实习单位 xxxxxxxxx有限公司 三、岗位介绍 Java软件工程师,学习基于Java平台的Web应用和设计知识。主要应用java基础、MySQL数据库、Servlet技术、JSP页面设计、JQuery、ajax、maven、freemarket、hibernate、struts2、spring、xml等技术完成网站与游戏后台的开发 四、实习安排 第一阶段:linux 第二阶段:java基础知识 第三阶段:数据库设计(oracle、mysql) 第四阶段:Servlet & JSP; 第五阶段:xml & jquery & ajax 第六阶段:三大框架 第七阶段:maven项目管理 第八阶段:freemarket模版技术

第九阶段:自学lucene与支付宝等网上支付 五、实习内容 5.1 linux系统介绍 Linux是一种自由和开放源码的类Unix的操作系统,公司所用服务器一般部署在linux系统下,linux系统以开源免费和稳定著称,我们主要认识了linux的文件系统、分区系统、常用命令,主要学习了linux的常用命令 5.2 java基础知识 Java的基础知识对于一个java软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候不在乎你会不会流行的技术,如(Struts、Hibernate、Spring、ibatis等)他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的java基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、IO流…等等等等,所以一个系统对于java 编程基础的依赖便不言而喻。 5.3 MySQL、Oracle数据库的介绍 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。Oracle则是以稳定性著称,在访问量和数据大量交换的服务器中,Oracle占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等 5.4 Java中的常用设计模式 5.4.1 工厂模式 客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。

Maven源配置教程

Maven安装及基本使用 1、安装maven首先到maven官网下载maven安装包, Maven下载地址, 下载apache-maven-3.3.9-bin.zip文件 > 由于当前系统为windows, 所以下载apache-maven-3.3.9-bin.zip文件; 如果您使用的系统为unix类系统请下载apache-maven-3.3.9-bin.tar.gz文件 > > 注: 由于maven是依赖于jdk的, 所以在安装maven前需要提前准备好jdk环境。jdk的安装方式不是本文的重点, 所以本文不进行展开说明了。 右键解压apache-maven-3.3.9-bin.zip文件到当前目录中即可 >如果您使用的为unix环境, 以CentOS为例, 使用以下命令进行解压 tar -zxvf apache-maven-3.3.9-bin.tar.gz 到此maven已经安装完成。 为了之后使用方便,所以需要将maven添加到环境变量中, 配置方式: 右键 "我的电脑" -> 选择 "属性" -> 选择 "高级系统设置" -> 选择 "高级" 标签页 -> 选择 "环境变量" 在新打开的窗口中的"系统变量"中新建变量名为"MAVEN_HOME", 变量值为 maven解压后的路径, 例如: E:-maven-3.3.9 然后编辑环境变量PATH, 在PATH的环境变量值的尾部添加";%MAVEN_HOME%", 一路确认后即添加成功。注: windows中多个环境变量的值需要用";"分隔 unix系统中环境变量的配置方式, 以CentOS为例: 使用以下方式为当前用户添加maven的环境变量打开~/.bashrc文件并在文件末尾添加以下内容 vim ~/.bashrc MAVEN_HOME=/opt/apache-maven-3.3.9 PATH=$PATH:$MAVEN_HOME/bin export MAVEN_HOME PATH 保存并退出, 并使用下面的命令使新添加的环境变量立即生效

java高级软件工程师面试题

java高级软件工程师面试题 招聘java高级工程师,职位描述如下,有兴趣的加394504340交流,打扰了,谢谢! 职位名称:java高级开发工程师(急) 职位描述:互联网产品的开发和维护。 职位要求:1. 熟悉JAVA、J2EE体系结构,熟练掌握Spring、Struts、Hibernate、ibatis 的开发技术。 2. 熟悉MySql等数据库开发,熟练掌握SQL语句,有较好的数据库设计能力。 3. 熟练掌握HTML、javascript、ajax等web开发技术,熟悉http协议。 4. 熟悉SVN、Maven、Junit等工具。 5. 具有良好的学习能力、沟通能力,乐于承担工作压力。 6. 有大型门户或社区网站开发经验者优先。 职位所在城市:杭州 职位所在行业:高科技 -------------------------========================================================= 1.说一下struts中常用的对象 2.怎样整合apatche和tomcat 3.说一下在linx系统中搭建服务器 4.简述一下sql server 建模 5.请写一个程序,把一个10进制转换成16进制 6.表student 列id name age WA(本科以上,大专,高中,初中以下) 毕业学校ID,学校信息表 问:统计出文化学历本科以上,大专,高中,初中以下,每个年龄各有多少人(一条SQL语句) 7.有两位少年从隧道的一端向另一端行走.当他们走过隧道的五分之二时,发现隧道外面迎来一辆火车.火车很快就要进入隧道.两位少年向来时隧道跑去.两位少年都是每小时10公里.两位在千钧一发跑出了隧道.假设火车速度恒定,并且两位少年都在瞬间达到最大速度,请问火车的速度 8.请写出常用的oracle语句及说明,存储过程的语句及说明 ---------------------------------------------------------------------------------------------------------------------------------

Maven常用命令

一,Maven常用命令: 1. 创建Maven的普通Java项目: 1、mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2、mvn archetype:generate 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp 3. 反向生成 maven 项目的骨架: mvn archetype:generate 4. 编译源代码: mvn compile 5. 编译测试代码: mvn test-compile 6. 运行测试: mvn test 7. 产生site: mvn site 8. 打包: mvn package 9. 在本地Repository中安装jar: mvn install 10. 清除产生的项目: mvn clean 11. 生成eclipse项目: mvn eclipse:eclipse 12. 生成idea项目:

mvn idea:idea 13. 组合使用goal命令,如只打包不测试: mvn -Dtest package 14. 编译测试的内容: mvn test-compile 15. 只打jar包: mvn jar:jar 16. 只测试而不编译,也不测试编译( -skipping 的灵活运用,当然也可以用于其他组合命令): mvn test -skipping compile -skipping test-compile 17. 清除eclipse的一些系统设置: mvn eclipse:clean 18.查看当前项目已被解析的依赖: mvn dependency:list 19.上传到私服: mvn deploy 20. 强制检查更新,由于快照版本的更新策略 mvn clean install-U 21. 源码打包: mvn source:jar 或 mvn source:jar-no-fork mvn compile与mvn install、mvn deploy的区别 1.mvn compile,编译类文件 2.mvn install,包含mvn compile,mvn package,然后上传到本地仓 库 3.mvn deploy,包含mvn install,然后,上传到私服

推荐-J2EE的门户网站系统——计算机 精品

XXXXXXXXXXX 毕业(设计) 基于J2EE的门户网站系统 The Portal Website System Based on J2EE 系别:XXX 专业名称:XXX 学生姓名:蔡希哲 学号:XXX 指导教师姓名、职称:XXX 完成日期 20XX年4月14日

基于J2EE的门户网站系统 摘要 从史蒂夫·乔布斯在20XX年的1月9号召开iPhone第一代发布会到现在已经过去6年的时间了。在这6年间,我们见证了iPhone系列的诞生和发展,它们共同重新定义了整个移动平台的世界。尽管在飞速发展的世界,IOS现在已经算是个老兵,有些年迈体衰,但这并不代表它有任何落后,或者可以值得我们忽略的地方。相反,经过长达6年时间的不间断的、持续性改善,苹果已然把IOS打造成了这个星球上目前特性最丰富、支持度最高的移动平台。直至iPhone5在20XX年9月的美国旧金山正式问世,又一次受到用户的热烈追捧,将iPhone系列的热卖浪潮推向一个新的巅峰。 考虑到庞大的iPhone5用户群的需求,我决定将iPhone5门户网站系统作为我的,目的是对网友们及时提供iPhone5的权威市场报价、最新新闻、市场行情以及IOS应用,并且使网友们能在网站上就感兴趣的话题进行探讨。iPhone5门户网站担任了关于iPhone5的综合信息服务提供商的角色,从某种程度上大大拉进了iPhone5用户之间的距离。 关键词: iPhone5;J2EE;MySQL;门户。

The Portal Website System Based on J2EE Abstract It has been six years since Steve Jobs convened the first iPhone conference at January 9, 20XX. During these time we have witnessed the birth and development of iPhone Series, which re-define the whole world of mobile platform. In this rapidly developing world, although IOS is old in age, it never fe ll behind or lost our attention. Instead, after six years’ continuing improving, iPhone has already built IOS into the mobile platform with most abundant features and highest support level at present. When iPhone5 was introduced formally at San Francisco in September 20XX, its selling wave reached a new peak in hot pursuit by the users. Considering the huge demand from the iPhone5 user group, I decide to work out an iPhone5 portal system for my graduation design. What I am striving for is to offer the authoritative market quotations, latest news, market condition and IOS application of iPhone5 in time. Furthermore, users can discuss topics of their interest in my website. In a word, iPhone5 portal is capable to greatly shorten the distance between iPhone5 users through playing the role of iPhone5’s integrated information and service provider. Key words:iPhone5;J2EE;MySql;Portal

maven常用命令

maven常用命令 生命周期阶段以及对应的目标 https://www.360docs.net/doc/54595429.html,/anonymas/blog/item/08384d44975c91036a63e527.html maven标准目录结构 https://www.360docs.net/doc/54595429.html,/anonymas/blog/item/a1e849f6c85aff64dcc474eb.html Profile定义/系统与环境变量列表 https://www.360docs.net/doc/54595429.html,/anonymas/blog/item/da847e109a1e805bf919b861.html POM参考以及POM最佳实践 https://www.360docs.net/doc/54595429.html,/anonymas/blog/item/c4b604aba1eae3f61f17a2a8.html 用来查找某个制品的maven路径 https://www.360docs.net/doc/54595429.html,/ maven官方plugin列表 https://www.360docs.net/doc/54595429.html,/plugins/index.html mojo项目的plugin的列表 https://www.360docs.net/doc/54595429.html,/plugins.html Maven手册的地址 https://www.360docs.net/doc/54595429.html,/books/maven-book/reference_zh/public-book.html https://www.360docs.net/doc/54595429.html,/books/maven-book/reference/ 官方POM文件完整参考 https://www.360docs.net/doc/54595429.html,/ref/2.2.1/maven-model/maven.html 官方settings文件完整参考 https://www.360docs.net/doc/54595429.html,/settings.html 官方依赖机制介绍 https://www.360docs.net/doc/54595429.html,/guides/introduction/introduction-to-dependency-mechanism. html mvn archetype:generate列出所有可用的模板供选择并创建 mvn dependency:analyze使用Maven Dependency插件进行优化 mvn dependency:resolve已解决依赖的列表 mvn dependency:tree项目的整个依赖树 mvn install -X查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件

(营销策划)洗衣店策划书

美完美了创业团队 美衣居干洗店有限责任公司 (Maven joy) 美完美了创业团队大学生创业计划竞赛 美衣居干洗店有限责任公司 (Maven joy)

美完美了创业团队 小组成员:梁琪黄颖胡维 张丹陈雨思 小组分工 队长:梁琪 市场调查:梁琪黄颖胡维 产品分析:梁琪黄颖 市场开发:张丹陈雨思 产品开发:梁琪陈雨思 产品销售:梁琪黄颖胡维 张丹陈雨思 财务管理:张丹胡维 定期总结:梁琪 前言 进步了的社会同意接受有才人士,发展了的社会赞同发掘新一代的

活力。改革开放以后,经济与社会的共同发展引领着中国进入更别致的一代,伴随着时代步伐的加快,人们生活水平的不断提高,不少市民的收入日益增加,衣服的档次、样式等也越发的高档、新颖。因此,洗衣业也开始有节奏的应运而生,巨大的市场空间也令我们不在驻足观望,决定打入这一行业,开拓更广博的市场空间。 开门见山来谈,开干洗店的优势大家有目共睹。具有庞大的市场;收付均为现金收付,无应收账款和呆账的困扰;产业变化小,风险低;管理方便,经营简单;没有产品积压及库存成本的危险,并且容易连锁经营化,方便在以后的发展里占据更多的市场空间。也就是说可以换句话而言,当所有的人都知道了这个行业的好时,会有更多的人选择投资,这便是俗称的“从众心理”。据百度“2011年新起公司排行榜里”统计,干洗店荣登前100名,也就是说,干洗业正以一种惊人的速度大步向前。这时便有人就会问,现在都已经有那么多的干洗店了,为什么我们还有选择投资这个项目?那么现在,由我们来为你进行详细的解答。 首先,正因为越来越多的干洗店起步经营,导致了市场的制度混论,为了获得更多的客源,商家们开始进行“恶性竞争”,大打“价格战”,其实,如若商家们之间的斗争是以消费者为首而开始的方为佳话,但是,大部分的商家是从本质上违背服务宗旨,一切从自己出发,在表面上将价格降低,但却在服务质量上大打折扣,将顾客要求的“干洗”悄然无息的转化为“被水洗”。其次,由于服务质量的下降,使得顾客所需接受的质量也开始良莠不齐,这使得在顾客在选择干洗店的目标上呈现混论、迷惑状态,他们想将衣物进行干

Maven使用中的常见问题整理

Maven使用常见问题整理 1、更新eclipse的classpath加入新依赖 1、在dependencyManagement里面加入包括版本在内的依赖信息,如: joda-time joda-time 1.6.2 2、在同级的dependencies节点里面加入该依赖,如: joda-time joda-time 3、使用mvn eclipse:clean删除当前的工程配置文件,并用mvn eclipse:eclipse重新生成。 4、导入或刷新该eclipse工程。 2、工程配置未使用pom.xml更新 问题:Project configuration is not up-to-date with pom.xml 导入maven工程后,出现如下错误: Description Resource Path Location Type Project configuration is not up-to-date with pom.xml. Run project configuration update rdc line 1 Maven Configuration Problem 解决办法就是: 右键项目,【Maven】--》【Update Project Configuration...】即可。。。

Maven 常见命令简介

Maven 命令行选项 说明: 1、使用-选项时,和后面的参数之间可以不要空格。而使用--选项时,和后面的参数之间必须有空格。如下面的例子: $ mvn help:describe -Dcmd=compiler:compile $ mvn install --define maven.test.skip=true 2、有些命令行选项是从Maven2.1才有的。 定义属性 -D,--define 定义系统属性 这是最常用到的定制Maven插件行为的选项。 获得帮助 -h,--help 显示帮助信息 如果你要寻找特定插件的可用目标和参数信息,请参考Maven Help 插件。 使用构建剖面(profile) 要从命令行激活一个或多个构建剖面,使用下面的选项: -P,--activate-profiles 被激活的,用逗号分隔的剖面列表 显示版本信息 要显示Maven版本信息,在命令行里,使用下面选项中的一个。 -V,--show-version 显示版本信息后继续执行Maven其他目标。 -v,--version 显示版本信息。 这两个选项输出相同的版本信息,但-v选项在打印版本信息后会中断Maven处理。如果你想让Maven版本信息出现在构建输出的开始处,你应该使用-V选项。如果你正在持续构建环境里运行Maven,并且你需要知道特定构建使用了哪个Maven版本,-V选项就可以派上用场。 离线模式运行 -o,--offline 离线模式工作 该参数可以阻止通过网络更新插件或依赖。 使用定制的POM或定制的Settings文件 如果你不喜欢pom.xml文件名、用户相关的Maven配置文件的位置或者全局配置文件的位置,你可以通过下面的选项定制这些参数。 -f, --file 强制使用备用的POM文件

maven常见问题问答(超全面)

1.前言 Maven,发音是[`meivin],"专家"的意思。它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven,所以对maven进行了一些深入的学习。写这个学习笔记的目的,一个是为了自己备忘,二则希望能够为其他人学习使用maven 缩短一些时间。 2. maven概要 首先我把maven的概念快速的梳理一下,让我们快速地建立起一个比较精确的maven应用场景。 2.1 maven不是什么 读书时候要先限定范围,避免一些有害的遐想。要说maven不是什么,我们可以从如下几个要点来展开 1.maven不是ant,也不是make。 我们以前接触的构建工具,需要写一些详细的步骤,比如:compile project1/src/*.java 等类似的语句。这些语句正是我们使用ant和 make所要编写的东西。maven采用了"约定优于配置"的方法,一些开 发常用的操作和步骤已经固化在maven中,所以使用者不再需要去编 写那些烦人的语句了。同时,maven内置了开发流程的支持,它不仅能够编译,同样能够打包、发布,也能够一气呵成做完这些所有的步骤。 2.maven不是ivy 依赖管理是maven的功能之一,虽然很多人包括我以前都是只用它的依赖管理功能,但是要深入运用的话,我们就可以看到更多的内容。更重要的是,maven在依赖关系中加入了scope的概念,进一步细化了依赖关系的划分。 2.2 maven是什么 maven将自己定位为一个项目管理工具。它负责管理项目开发过程中的几乎所有的东西: 1.版本 maven有自己的版本定义和规则 2.构建 maven支持许多种的应用程序类型,对于每一种支持的应用程序类型都定义好了一组构建规则和工具集。 3.输出物管理 maven可以管理项目构建的产物,并将其加入到用户库中。这个功能可以用于项目组和其他部门之间的交付行为。

Maven2 基础教程

Maven2 基础教程(1) - 环境配置 目标 通过本文,您可以 ?了解Maven2 ?将Maven2安装到本地机 ?安装Maven的eclipse插件 ?在 SVN上下载一个项目,并使用Maven2编译、测试、安装、部属等 ?生成eclipse的项目文件,并使用eclipse的IDE编辑 ?在eclipse中使用Maven方式开发 准备 预备知识 本文假设您以掌握如下的知识 ?JDK 的安装及使用 ?eclipse 的安装及使用 ?简单的命令行方式 预备软件 在阅读本文的过程中,会使用下列软件,所有软件都附有下载连接地址 ?JDK : jdk-1_5_0_17-windows-i586-p.exe ?eclipse : eclipse-SDK-3.4.1-win32.zip ?Maven : apache-maven-2.0.10-bin.zip 安装软件 安装JDK JDK的安装,此处省略. JDK安装注意 JDK安装完成后请务必设置 JAVA_HOME 环境变量,否则maven2无法运行

安装eclipse eclipse 安装此处省略 安装Maven2 将刚才下载的包apache-maven-2.0.10-bin.zip解压到D:\maven2下,会出现如下目录结构 D:\maven2 +--bin +--boot +--conf +--bin 设置环境变量,在系统环境变量PATH中加入D:\maven2\bin,并且设置环境变量M2_HOME=d:\maven2开启命令行方式,输入 Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. e:\Velcros\velcro7.prototype>*mvn* [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] You must specify at least one goal. Try 'mvn install' to build or 'mvn --help' for options See https://www.360docs.net/doc/54595429.html, for more information. [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: < 1 second [INFO] Finished at: Tue Mar 24 09:45:26 CST 2009 [INFO] Final Memory: 1M/2M [INFO] ------------------------------------------------------------------------ 配置Maven2使用公司内部插件仓库服务器 由于Maven2的安装包并不包括插件,所以在使用时会自动到网络上下载需要使用的插件以及依赖包等。将Maven配置为使用内部插件服务器,可以加快下载速度 Maven2的配置文件放在如下位置 $用户目录/.m2/settings.xml 和 $M2_HOME/conf/settings.xml,查找循序为 先查找 $用户目录/.m2/settings.xml,然后查找 $M2_HOME/conf/settings.xml。

【精编范文】2.拥有出色的执行力、沟通能力及团队协作能力;-实用word文档 (10页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 2.拥有出色的执行力、沟通能力及团队协作能力; 篇一:岗位名称:文案策划 岗位名称:文案策划 岗位职责: 1、根据市场推广需要,独立撰写种类新闻稿件,包括新闻稿、专访稿,活动稿,微信创意稿件; 2、为公司项目宣传进行策划,设计和撰写稿件; 3、为公司项目策划方案提供文字创意支持; 4、完成领导分派的其他相关工作。 任职要求: 1、新闻学、传播学、中文、金融类相关专业; 2、能熟练应用办公软件,有良好的文字表达能力,较强的活动策划能力; 3、具备深厚的文字功底,文理思路清晰,文风活跃多变,熟悉各类文体写作,善于撰写具有广告效应的文本文案; 4.熟悉策划方案的撰写技巧,可以熟练使用PPT,PPT方案有充足的表现力,方案思路的演绎能力强; 岗位名称:运营专员 岗位职责: 1. 负责网站运营工作所需数据的收集、整理与分析,推动数据分析系统的构建与完善; 2. 整理编写网站数据分析报告,及时发现和分析其中隐含的变化和问题,为业务发展提供决策支持;

3. 支持产品部门下的运营,产品等各方面的数据分析,处理和研究的工作需求; 4. 微博、微信、SNS、论坛等社交新媒体的口碑营销策划、执行; 5. 市场竞争分析, 竞争对手产品形态、模式、发展趋势以及业内动态分析,对公司发展提出有效建议; 任职要求: 1. 广告、新闻、传媒、金融、中文、市场营销等相关专业 2. 善于撰写推广活动策划文案及需求文档; 3. 诚实正直、责任心强,能承受较大的工作压力;具有良好的沟通能力和团队合作精神; 岗位名称:风控专员 岗位职责: 1. 负责公司融资租赁业务的风险管理并独自负责完成融资租赁业务; 2. 审查项目资料的真实性、合法性、准确性、全面性; 3. 对融资租赁项目进行现场调查,完成评审报告; 4. 对于送审案件提出建议及核可方案; 5. 对风险管理的档案资料进行归类、整理、归档、保存; 6. 具备较强的信息采集能力、数据分析能力、判断决策能力,对项目稽核、风险分析和风险审查、管理有丰富的经验以及成功案例; 7、熟悉银行信贷、融资租赁及金融市场,熟悉企业管理运作; 8. 完成公司领导交办的其它工作; 任职要求: 1. 金融类及相关专业; 2. 熟悉信贷及相关行业业务流程及风险点,熟悉贷前审批及贷后检查工作; 3. 良好的协调、沟通能力和公共关系管理能力;工作严谨细致; 4. 原则性强、工作认真负责;

Maven3实战笔记01环境配置与使用入门

Maven3实战笔记01环境配置与使用入门 刘岩 Email: 1.前言 Maven是apache的一个顶级项目,它的出现越来越影响着现在的众多的开源项目,不仅如此,很多公司的很多新项目都采用Maven提倡的方式进行管理。Maven正逐渐侵入我们原先的管理项目的习惯,对于团队的管理,项目的构建,都是一种质的飞跃。当然是我个人的一些项目经验而说的这话。如果原先的团队老大本身的管理非常科学,也有一套其他软件辅助项目的构建、打包、发布等等一系列机制保证。那么Maven可能对其并没有实质性的影响或者是质的飞跃。当然在此也并不是说咱们中国人做出来的项目就管理不善……只是说利用Maven帮助我们构建项目更科学、更有可维护性、更加模块化、模块功能更加职能单一、做出来的项目更加具有可复用性等等好处。当然笔者也是个刚学习Maven的人,我们一起来学习Maven到底为我们带来了什么好处。笔者邮箱已经给出,欢迎与笔者进行学术上的交流。 2.Maven的思想 本来想看完了实战整本,再写总结的,后来觉得还是先写出来吧。哪怕有什么不对的地方再纠正都不晚,就怕到时候看完了一点心得都没有,全忘了就太……所以先将学习的点点滴滴感受写下来,之后结合实例咱们可以反复的推敲。 目前笔者看到的Maven的主要功能是:项目构建;项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站点描述信息管理; 由此可以看出Maven最主要的体现在了哪2个词?——对了,“项目”和“管理”!加在一起就是项目管理。项目管理是一个很抽象的概念。项目管理既可以指技术上的管理手段,也可以指“以人为本”的非技术因素。诚然,无论是技术还是非技术,项目的成败最大的责任人其实就是项目经理。这里我们抛开人为因素不提,仅就技术上来说,Maven 提供了一种思想让团队更科学的管理、构建项目。用配置文件的方式对项目的描述、名称、版本号、项目依赖等等信息进行描述。使之项目描述结构清晰,任何人接手的成本比较低。在项目构建时,利用Maven的“约定大于配置”的思想,可以比Ant脚本构建项目省去不少配置文件的内容。而且一个项目可能依赖于其他的项目和第三方的组件才能顺利完成,Maven提供了仓库的概念,让这些依赖项放进仓库中,项目想要从仓库中去取,其他项目组也需要,OK,从仓库中去取,不必每个人去开源项目的站点去苦苦搜寻了。如此人员的成本、软件维护的成本、沟通的成本、硬件的成本都降下来了。客户笑了、公司老板也笑了、项目经理笑了、团队里面的人员也笑了、Apache社区看到这么多人在用也笑了。给笔者的感觉,现在的开源东西越来越向“敏捷开发”、“极限编程”的方向靠拢。通过Maven辅助管理项目,更能发现项目中哪些模块是重复的轮子。 3.Maven的环境搭建 下面我们来看看Maven的环境搭建。首先从Apache网站下载Maven。下载url是:。笔者 bin就不用说了,就是Maven的一些命令参数,boot里面是Maven自己的类加载器,咱们也不必理会。conf里面有个settings.xml就是本机Maven的总配置信息。lib是Maven 运行时需要的类库。将bin目录和JDK的bin目录一样设置为系统的PATH。这样在命令

相关主题
相关文档
最新文档