Top Banner
项目开发实践No.1 Maven + Sonar 孙晓晨 2010.10
26

项目开发实践No.1

Jul 08, 2015

Download

Documents

cheney s
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 项目开发实践No.1

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

孙晓晨 2010.10

Page 2: 项目开发实践No.1

主题

•Maven构建实践

•Sonar介绍

Page 3: 项目开发实践No.1

Maven构建实践

Page 4: 项目开发实践No.1

快速回顾

生命周期 坐标

依赖管理 仓库

插件

Page 5: 项目开发实践No.1

快速回顾

Site

default(build)

clean

pre-clean

clean

post-cleanpre-site

site

post-site

site-deploy

生命周期

Page 6: 项目开发实践No.1

快速回顾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)

Page 7: 项目开发实践No.1

快速回顾

Page 8: 项目开发实践No.1

groupId

artifactId

versionPackaging

classifier

快速回顾

坐标

Page 9: 项目开发实践No.1

快速回顾-坐标

定义:

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

例如:mvn archetype:generate

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

Page 10: 项目开发实践No.1

快速回顾

依赖管理 仓库

http://mvn.3.com

Page 11: 项目开发实践No.1

快速回顾

插件jetty-maven-plugin

cargo-maven2-plugin

maven-release-plugin

maven-archetype-plugin

maven-assembly-plugin

Page 12: 项目开发实践No.1

maven-archetype-plugin

Page 13: 项目开发实践No.1

maven-archetype-plugin

• 特性:• IDE深度整合

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

• 简单易用

• 当前可用的数量为363+

从模版原型中创建Maven项目

Page 14: 项目开发实践No.1

maven-archetype-plugin

Page 15: 项目开发实践No.1

maven-archetype-plugin

mvn archetype:create-from-project

goto target/generated-sources/archetype

mvn install

mvn archetype:generate -DarchetypeCatalog=local

Page 16: 项目开发实践No.1

maven-archetype-plugin

演示

Page 17: 项目开发实践No.1

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

Page 18: 项目开发实践No.1

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 –读写本地文件路径不一致

Page 19: 项目开发实践No.1

Maven-assembly-plugin

Page 20: 项目开发实践No.1

Maven-assembly-plugin

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

• assembly:assembly - 直接调用

• single - 绑定到生命周期

• 使用描述文件定义

Page 21: 项目开发实践No.1

maven-assembly-plugin

演示

Page 22: 项目开发实践No.1

Sonar

Page 23: 项目开发实践No.1

sonar

• 是什么?

• 可以做哪些事情?

• 项目如何使用?

Page 24: 项目开发实践No.1

sonar

Maven生态圈:

Maven

Hudson

Sonarplugins

Page 25: 项目开发实践No.1

sonar

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

2. 迭代开发+测试

3. 按功能每天提交代码

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

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

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

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

Page 26: 项目开发实践No.1

谢谢