项目开发实践No.1

Post on 08-Jul-2015

892 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

Transcript

项目开发实践No.1Maven + Sonar

孙晓晨 2010.10

主题

•Maven构建实践

•Sonar介绍

Maven构建实践

快速回顾

生命周期 坐标

依赖管理 仓库

插件

快速回顾

Site

default(build)

clean

pre-clean

clean

post-cleanpre-site

site

post-site

site-deploy

生命周期

快速回顾validate

generate-sources

process-sources

generate-resources

process-resources

compile

process-classes

generate-test-sources

process-test-sources

generate-test-

resources

process-test-resources

test-compile

testprepare-package

package

pre-integration-

test

integration-test

post-integration-

test

verify install deploy

default(build)

快速回顾

groupId

artifactId

versionPackaging

classifier

快速回顾

坐标

快速回顾-坐标

定义:

使用:groupId:artifactId:packaging[:classifier]:version

例如:mvn archetype:generate

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0:generate

快速回顾

依赖管理 仓库

http://mvn.3.com

快速回顾

插件jetty-maven-plugin

cargo-maven2-plugin

maven-release-plugin

maven-archetype-plugin

maven-assembly-plugin

maven-archetype-plugin

maven-archetype-plugin

• 特性:• IDE深度整合

• 江湖大佬(appfuse、gae、liftweb 、camel、cxf、mule)使用示范

• 简单易用

• 当前可用的数量为363+

从模版原型中创建Maven项目

maven-archetype-plugin

maven-archetype-plugin

mvn archetype:create-from-project

goto target/generated-sources/archetype

mvn install

mvn archetype:generate -DarchetypeCatalog=local

maven-archetype-plugin

演示

maven-archetype-plugin

技术要点:• mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.0

-DgroupId=com.woniu.demo -DartifactId=demo-maven -Dversion=1.0.0-SNAPSHOT -Dpackage=com.woniu.demo –B

• 创建Archetype

maven-archetype-plugin

技术要点:• archetype-catalog.xml

• local - ~/.m2/archetype-catalog.xml

• remote - http://repo1.maven.org/maven2/archetype-catalog.xml

• 本地更新 - archetype:crawl

• nexus更新 – nexus-archetype-plugin

• bug –读写本地文件路径不一致

Maven-assembly-plugin

Maven-assembly-plugin

• 用于创建自定义的分发包

• assembly:assembly - 直接调用

• single - 绑定到生命周期

• 使用描述文件定义

maven-assembly-plugin

演示

Sonar

sonar

• 是什么?

• 可以做哪些事情?

• 项目如何使用?

sonar

Maven生态圈:

Maven

Hudson

Sonarplugins

sonar

项目构建流程:1. Maven创建新项目骨架

2. 迭代开发+测试

3. 按功能每天提交代码

4. Hudson持续集成自动发布snapshot版本、Sonar持续检查

5. PM按功能发布测试版本

6. 测试人员验收功能,并通过sonar查看项目质

量,符合标准PM向nexus库发布release版本

谢谢

top related