maven规范

maven规范
maven规范

Maven

使

1前言

1.1传统项目开发过程

在进行软件开发的过程中,无论什么样的项目,采用何种技术,使用何种编程语言,我们都要重复相同的开发步骤:收集依赖构建、编写源代码、配置信息、测试、打包、发布、文档

实际上这些步骤是完全重复性的工作。而maven要做的就是让开发人员能专注于商业逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去打包,发布等等事情。它让开发人员从这些任务中解脱出来,是的项目开发的效率更高。

1.2Maven优势

maven是面向技术层面,针对Java开发项目管理工具,它提供了构建工具所提供功能的超集,除了构建功能之外,Maven还可以管理项目结构、管理依赖关系、生成报告、生成Web站点、同时还有助于团队成员之间的交流与协作。开发者通过Maven管理项目从中受益,Maven为开发提供以下便利之处

?指导开发

提供了Java项目的最佳开发实践,自由开发项目骨架而可以自动生成项目结构

?自动编译

不仅仅只像Ant自动编译,还包括测试、打包、发布、文档生成、项目站点生成等等。

?依赖管理

Maven可以方便地管理应用程序依赖,例如第三方依赖、模型依赖等

?无限扩展

插件模式可以无限增强Maven功能,例如通过T omcat、Jetty插件可以自由控制其服务器。

?持续集成

鼓励开发者积极提交代码,更早地发现程序错误,在并行开发中稳妥推进。

?开发协作

更简单和谐的团队协作

1.3Maven概念模型

2基本概念

Maven主要服务基于java平台的项目构建、依赖管理和项目信息管理

?项目对象模型(Project Object Model)

?坐标(Coordinates)

?项目生命周期(ProjectLifecycle)

?插件(plugin)和目标(goal)

?依赖管理系统(Dependency Management System)

?仓库管理(Repositories)

官网:https://www.360docs.net/doc/3c4772705.html,

2.1Maven名词解释

?Project

任何你想build的事物,Maven都可以认为它们是工程。这些工程被定义为工程对象模型(POM,Project Object Model)。一个工程可以依赖其它的工程,一个工程也可以由多个子工程构成。

?POM

POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。

?GroupId

groupId是一个工程在全局中唯一的标识符,一般的,它就是工程名。groupId有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来。

?Artifact

artifact是工程将要产生或需要使用的文件,它可以使jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId和artifactId 组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(Repository)中,否则Maven无法找到它们。

?Dependency

为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven 中,这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。

?Plug-in

Maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal,并根据在POM中找到的元数据去完成工作。

?Repository

仓库

2.2setting.xml

?$user.home/.m2/repository/setting.xml

为用户范围的配置文件。

?$M2_HOME/conf/setting.xml

为全局范围的配置文件,修改后将影响本机所有用户的配置。这里建议只修改用户级别的配置,既不影响其他用户,也不影响后期升级。

?配置介绍

localRepository:自定义本地库路径,默认在$user.home/.m2中。

interactiveMode:Maven是否需要和用户交互以获得输入。默认为true offline:表示Maven是否需要在离线模式下运行。如果构建系统需要在离线模式下运行,则为true,默认为false。当由于网路设置原因或者安全因素,构建服务器不能连接远程仓库的时候,该配置就十分有用。

pluginGroups:当插件的组织Id(groupId)没有显示提供时,供搜寻插件组织Id的列表。该元素包含一个pluginGroup元素列表,每个子元素包含了一个组织Id。当我们使用某个插件,并且没有再命令行为其提供组织Id的时候,Maven就会使用该列表。默认情况下该列表包含了org.apache.maven.plugins proxies:通过代理访问外部库

servers:集成认证服务,例如集成T omcat

mirrors:为仓库列表配置的下载镜像列表

profiles:个性配置,需要在Activation标签中激活

activeProfiles:表示激活的profile

更过关于setting.xml配置的介绍请参见:https://www.360docs.net/doc/3c4772705.html,/skyme/archive/2011/08/19/2146105.html

2.3Maven仓库

?远程公用仓库

Maven内置了远程公用仓库:https://www.360docs.net/doc/3c4772705.html,/maven2

这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世

界上大部分流行的开源项目构件。目前是以Java为主的。

?内部中心仓库

内部中心仓库也称为私有共享仓库(私服)。一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可以作为公用类库镜像缓存,减少在外部访问和下载的频率。

搭载私服的方式有多重,这里就不再阐述。(公司私服地址:https://www.360docs.net/doc/3c4772705.html,/content/groups/public/ )

?本地仓库

Maven会将工程中依赖的构件(jar包)从远程下载到本机一个目录下管理,通常默认在$user.home/.m2/repository下。

自Maven2以后,构件的存储方式通常是groupId/artifactId/version/*.jar。除了以上默认的本地库地址,我们也可以自定义本地库到指定路径中去。

?修改本地库位置

在$M2_HOME/conf/setting.xml文件的元素中指定路径,例如:D:/my_repository

2.4Maven常用指令

?检测Maven、JDK版本

mvn -v 或者mvn -version

?获取帮助选项

mvn -h 或者mvn -help

?显示详细错误信息

mvn -e

?创建Java项目

mvnarchetype:create

-DgroupId=${groupId} -DartifactId=${artifactId}

例如:

mvnarchetype:create

-DgroupId=com.bstek -DartifactId=hello -Dversion=0.1

?创建Web项目

mvnarchetype:create

-DgroupId=${packageName}

-DartifactId=${webappName}

-DarchetypeArtifactId=maven-archetype-webapp

?创建其它项目(例如SSH)

mvnarchetype:generate

然后根据提示选择项目骨架、groupId、artifactid、版本号???转换成Eclipse工程

mvneclipse:eclipse

mvneclipse:clean //清楚Eclipse设置信息

?编译

mvncomplie

?编译测试代码

mvn test-compile

?产生Site

mvn site

?测试

mvn test //运行测试

mvn test -Dtest=${类型} //单独运行测试类

?清除

mvn -clean //将清除原来编译的结果

?打包

mvn package

mvn package -Dmaven.test.skip=true //打包时不执行测试?发布

mvn install //将项目打包成构件安装到本地仓库

mvn deploy //发布到本地仓库或服务器

?手动添加构件到仓库

mvninstall:install-file -Dfile=${jar包文件位置} -DgroupId=${groupId} -DartifactId=${artifactId} -Dversion=${版本号} -Dpackaging=jar -DgeneratePom=${是否同时创建pom文件}

?复制依赖构件到相应目录

mvndependency:copy-dependencies -DoutputDirectory=${目标目录} -DexcludeScope=${scope} -Dsilent=true

示例:

mvn

dependency:copy-dependencies

-DoutputDirectory=WebRoot/WEB-INF/lib

-Dsilent=true -DincludeScope=runtime

?显示一个插件的详细信息

mvnhelp:describe -Dplugin=pluginName -Ddetail

2.5pom.xml

是Maven项目的核心配置文件,位于每个工程的根目录,指示Maven工作的元数据文件。

?节点介绍

:文件的根节点

:pom.xml使用的对象模型版本

:创建项目的组织或团体的唯一Id

:项目的唯一Id, 可视为项目名

:打包类型,一般有JAR,WAR,EAR 等

:产品的版本号

:项目的显示名,常用于Maven 生成的文档。

:组织的站点,常用于Maven 生成的文档

:项目描述,常用于Maven 生成的文档。

:构件依赖

:模型继承

:依赖管理

:创建报告

:构建

:引用第三方仓库

:许可

POM全景图

2.6坐标

Maven拥有数量非常巨大的构件,也就是我们平时用的一些jar、wa等文件。Maven定义了这样一组规则:世界上任何一个构件都可以使用maven坐标唯一标识。Maven的坐标元素包括groupId、artifactId、version、packaging、classifier。

groupId:定义当前maven项目隶属于的实际项目(组织机构)。groupId 的表示方式与java包名的表示方式类似,通常与域名反向一一对应。

artifactId:该元素定义实际项目中的一个maven项目/模块。

Version:版本

Package:打包方式。如:jar、war。

Classifier:不能直接定义,用来表示构件到底用于何种jdk版本。

2.7依赖(dependency)

java工程依赖的其它包。被依赖的包就成为dependency.

Dependency一般是其它工程的坐标。依赖具有传递性。

2.8生命周期

Maven的生命周期就是为了所有的构建过程进行抽象和统一。这个生命周期包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有构建步骤。

Maven拥有三套相互独立的生命周期,他们分别为clean、defaulet和site。

Clean生命周期的目的是清理项目,default生命周期的目的是构建项目,site生命周期的目的是建立项目站点。

2.9阶段(phase)

每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和maven最直接的交互方式就是调用这些生命周期阶段。

较之于生命周期阶段的前后依赖关系,三套生命周期是相互独立的,用户可以仅仅调用clean生命周期的某个阶段,或者仅仅调用default生命周期的某个阶段,而不会对其它生命周期产生任何影响。

2.10插件及其目标

Maven的核心仅仅定义了抽象的生命周期,具体的任务是交由插件完成的,插件以独立的构建形式存在。

对于插件本身,为了能够复用代码,它往往能够完成多个任务。

例如:maven-dependency-plugin插件,能够基于项目依赖做很多事情。比如,能够分析项目依赖,找到无用的或者重复的依赖;能够列出项目的依赖树。这些功能往往背后有很多可以复用的代码,因此,可以把这些功能聚集在一个插

件里,每个功能就是一个插件目标。

调用插件目标方法:例mvndependency:tree.冒号前面是插件的前缀,冒号后面是该插件的目标。

3安装

3.1Maven安装

?下载安装包

地址:https://www.360docs.net/doc/3c4772705.html,/download.html

当前版本为3.0.4

?windows系统下安装

1)首先需要确定系统中装有JDK(版本1.4+)

2)将压缩包解压到本地磁盘某目录中,该目录则称为安装目录。

例如E:\bin\apache-maven-3.0.4

3)目录结构介绍:

bin:Maven的运行脚本

boot:Maven自己的类装载器

conf:该目录下包含了全局行为定制文件setting.xml

lib:Maven运行时所需的类库

?配置环境变量

1)M2_HOME=安装目录

2)在path变量中增加%M2_HOME%\bin

3)MAVEN_OPTS=-XmsNNNm -XmxNNNm(非必要项,可防止内存溢出,其中NNN表示具体的内存数量)

?检查安装正确性

在命令行提示符下执行maven命令:mvn -v

?实验Maven命令

在命令提示符下面输入:mvnhelp:system

该命令将会下载help插件并运行它,且打印Java系统属性和环境变量。

3.2Maven插件安装

为Eclipse提供JDK支持

Eclipse是运行在JRE之上,但Maven需要JDK的一些支持,需要指定JDK,在Eclipse安装目录中的eclipse.ini文件中增加:

-vm

${%JAVA_HOME%\bin\javaw.exe}

安装M2Eclipse插件

打开Eclipse,找到以下功能界面:

Help ->InstallNewSoftware -> Work with -> Add

分别加入m2的核心组件和扩展组件

3.2.1 核心组件安装

Name: m2e

Location: https://www.360docs.net/doc/3c4772705.html,/sites/m2e

3.2.2扩展组件安装

Name:m2e-extras

Location:https://www.360docs.net/doc/3c4772705.html,/sites/m2e-extras

3.3Jetty插件安装

Name:run-jetty-run

Location:https://www.360docs.net/doc/3c4772705.html,/svn/trunk/updatesite

3.4替换Eclipse内置的Maven

4目录结构

maven提倡使用共同的标准目录结构,使开发人员能在熟悉了一个Maven 工程后,对其他的Maven工程也能清晰了解。

Maven推荐的目录结构如下:

src/main/java--Application/Library sources(源码目录)

src/main/resources--Application/Library resources(资源目录)

src/main/filters--Resource filter files

src/main/assembly--Assembly descriptors

src/main/config--Configuration files

src/main/scripts--Application/Library scripts(js脚本文件)

src/main/webapps--Web application sources(web目录,相当于webcontent)

src/test/java--T est sources(测试源码目录)

src/test/resources--T est resources(测试资源目录)

src/test/filters--T est resource filter files

src/site—Site

target—编译结果目录

LICENSE.txt--Project's license

NOTICE.txt--Notices and attributions required by libraries that the project depends on

README.txt--Project's readme

在顶级目录上是工程的描述文件pom.xml,另外还包括提供给最终用户的文件,如,README.txt, LICENSE.txt等等。

顶级目录还包括两个子目录:src,target。顶级目录下可能出现的其他目录仅仅是CVS或.svn和其他多模块工程的工程目录,最好不要再有其他目录。

T arget目录是所有工程编译构建的输出目录。

Src目录包含所有工程的源码文件,配置文件,资源文件等等。它下面的子目录一般包含main(主要的工程源文件),test(测试文件),site(项目站点文件)。

摘自:

https://www.360docs.net/doc/3c4772705.html,/guides/introduction/introduction-to-the-st andard-directory-layout.html

5在Eclipse中创建Maven项目

Maven项目创建

File->new->other->Maven->Maven Object

勾上Create a simple project这样可以跳过项目骨架选择

填写GroupId和Artifact Id

运行调试

通过上一步中,我们创建一个maven-test项目,该项目打包类型为war。也就是说我们以这个项目作为发布的项目,下面我新建一个打包类型为jar类型的maven-test-jar,编写源代码然后在maven-test项目上运行调试。

1.新建maven项目,选择打包类型为jar,同时配置之前配置好的pom类

型的parent项目,以便获取到项目开发中常用的构件。如图下图所示:

2.新建的maven-test-jar项目由于添加了继承关系,所以要更新一下该项

目的依赖关系。

在项目名称右击->maven->Update Dependencies

3.将maven-test-jar注入到本地库中

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/3c4772705.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安装文

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/3c4772705.html,/anonymas/blog/item/08384d44975c91036a63e527.html maven标准目录结构 https://www.360docs.net/doc/3c4772705.html,/anonymas/blog/item/a1e849f6c85aff64dcc474eb.html Profile定义/系统与环境变量列表 https://www.360docs.net/doc/3c4772705.html,/anonymas/blog/item/da847e109a1e805bf919b861.html POM参考以及POM最佳实践 https://www.360docs.net/doc/3c4772705.html,/anonymas/blog/item/c4b604aba1eae3f61f17a2a8.html 用来查找某个制品的maven路径 https://www.360docs.net/doc/3c4772705.html,/ maven官方plugin列表 https://www.360docs.net/doc/3c4772705.html,/plugins/index.html mojo项目的plugin的列表 https://www.360docs.net/doc/3c4772705.html,/plugins.html Maven手册的地址 https://www.360docs.net/doc/3c4772705.html,/books/maven-book/reference_zh/public-book.html https://www.360docs.net/doc/3c4772705.html,/books/maven-book/reference/ 官方POM文件完整参考 https://www.360docs.net/doc/3c4772705.html,/ref/2.2.1/maven-model/maven.html 官方settings文件完整参考 https://www.360docs.net/doc/3c4772705.html,/settings.html 官方依赖机制介绍 https://www.360docs.net/doc/3c4772705.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、mvn clean compile 说明:clean 清理输出目录/target,compile 编译项目主代码到target/classes。 执行mvn clean compile命令的结果: E:\Java学习\Workspace\myProject>mvn clean compile [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building myProject 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ myProject --- [INFO] Deleting E:\Java学习\Workspace\myProject\target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ myProject--- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ myProject --- [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent! [INFO] Compiling 1 source file to E:\Java学习\Workspace\myProject\target\classes [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.218s [INFO] Finished at: Thu Aug 29 21:32:54 CST 2013 [INFO] Final Memory: 5M/11M [INFO] ------------------------------------------------------------------------ E:\Java学习\Workspace\myProject> 2、mvn clean test 说明:test调用Maven执行测试 E:\Java学习\Workspace\myProject>mvn clean test [INFO] Scanning for projects... [INFO]

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可以管理项目构建的产物,并将其加入到用户库中。这个功能可以用于项目组和其他部门之间的交付行为。

Maven的配置和使用

Maven的配置和使用 1、下载和安装maven 注:在使用之前,应首先安装JDK。 #可以去共用目录中下载,下载完后解压到指定的目录中,如C:\Program Files\apache-maven-2.2.0 #配置环境变量:1)MAVEN_HOME: 你安装的Maven的目录,如C:\Program Files\apache-maven-2.2.0 #在Path 中加入%MAVEN_HOME%\bin 配置完之后,在命令窗口中使用mvn –version 会出现如下信息 此时,maven已经安装配置好了。 2、使用maven来构建项目,从源代码编译成二进制项目文件 用maven对项目打包,比如用svn下载项目从 svn://10.0.0.58:8000/java/materias/poc/maven/core/,下载到指定的目录,比如放在 E:\workspace\java\materias\poc\maven\core目录下 项目的结构如下: 包括src源代码目录,unit test源码目录,以及配置文件目录resources 打开命令窗口,用cd命令转到项目所在的目录下 运行mvn compile,假如下现如下的结果,则该命令运行成功。 该命令是用来编译所有的的(java)源文件,编译后生成所有的class文件放在根目录下的target\classes目录下,即如 除此之外,maven还有很多其他常用的命令方式,比如: *mvn test-compile //编译测试代码,比如编译test下的源文件,编译后生成的所有的class文件放在根目录下的target\test-classes目录下 *mvn test //运行应用程序中的单元测试,比如对以上的项目,测试生成的结果放在根目录下的 target\surefire-reports目录下, *mvn clean //清除目标目录中的生成结果delete target,即会清除生成的target目录

【精编范文】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. 原则性强、工作认真负责;

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/3c4772705.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。

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。这样在命令

相关文档
最新文档