P. 1
Better Builds With Maven

Better Builds With Maven

4.67

|Views: 9,547|Likes:
Published by anon-313500

More info:

Published by: anon-313500 on Aug 10, 2007
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/13/2015

pdf

text

original

A

Alexander, Christopher

25

Ant

metadata syntax

279-281

migrating from

241-264

Apache

Avalon project

193

Commons Collections

254

Commons Logging library

252

Geronimo project

86, 97

HTTPd

212

Maven project

134, 166

Software Foundation

22, 23, 215, 217

Tomcat

212

application
building J2EE

85-88, 90-99, 101-110, 112, 114-122,

124, 126-132
creating

55-59, 61, 63-65, 83

creating a Web site for

78, 80-82, 84

DayTrader

86-88, 90

deploying

55, 74, 76, 77, 84

managing dependencies

61, 62, 84

modules

56

preparing a release

236-240

project inheritance

55, 59, 61, 63, 84

Separation of Concerns (SoC)

56

setting up the directory structure

56, 57, 59

APT format

79

archetypes

creating standard project

233, 234

definition of

39

artifactId

29, 112, 245, 252

ASF

23

aspectj/src directory

243

aspectj/test directory

243

B

Bentley, Jon

37

Berard, Edward V.

55

bibliography

287, 288

binding

134, 135, 268, 269, 271
build life cycle30, 41, 55, 69, 84, 134-136, 144, 152, 160,
163, 165, 286
Butler, Samuel

167

C

Cargo

103-105, 107, 129, 130

Changes report

182

Checkstyle report

181, 186, 191, 193

Clancy, Tom

207

classpath

adding resources for unit tests

48

filtering resources

49-51

handling resources

46, 48, 50-52

preventing filtering of resources

52

testing

35

clean life cycle

270

Clirr report

182, 202-205

Cobertura

181, 194-198

code

improving quality of

202-205

restructuring

264

code restructuring to migrate to Maven

264

Codehaus Mojo project

134, 166

collaborating with teams
introduction to

207

issues facing teams

208, 209
setting up shared development environments209-212
Community-oriented Real-time Engineering (CoRE)208
compiling

application sources

40, 41

main Spring source

250-254

test sources

42, 43

tests

254, 255

Confluence format

79
container62, 86, 87, 95, 100, 103-105, 111, 112, 114, 116,
117, 122, 124, 129, 131, 184, 213, 224
Continuum

continuous integration with

218, 220, 222-233

creating standard project

234, 235

conventions
about

26

default

29

default build life cycle

286

Maven’s super POM

285

naming

56

single primary output per project

27

standard directory layout for projects

27

standard directory structure

284

standard naming conventions

28

copy/paste detection report

190

CPD report

181, 190

289

Better Builds with Maven

D

DayTrader
architecture

86, 87

building a Web module

105-108

organizing the directory structure

87, 88, 90

Quote Streamer

87

default

build life cycle

41, 69, 286

conventions

29

location of local repository

44

naming conventions

56

pom.xml

39, 47, 49-51

structures

24

dependencies
determining versions for

253

locating dependency artifacts

34

maintaining

199-201

organization of

31

relationship between Spring modules

243

resolving conflicts

65-68

specifying snapshot versions for

64

using version ranges to resolve conflicts

65-68

Dependency Convergence report

181

Deployer tool

122, 124

deploying applications
methods of

74, 76, 77

to the file system

74

with an external SSH

76

with FTP

77

with SFTP

75

with SSH2

75

development environment

209-212

directories
aspectj/src

243

aspectj/test

243

m2

244, 245

mock

243

my-app

39

src

40, 243, 245

standard structure

284

test

243, 245

tiger

258, 259, 261

tiger/src

243

tiger/test

243

directory structures
building a Web services client project

94

flat

88

nested

89

DocBook format

79

DocBook Simple format

79

E

Einstein, Albert

21

EJB

building a project

95-99

canonical directory structure for

95

deploying

103-105

plugin documentation

99

Xdoclet

100, 101

external SSH

76

F

Feynman, Richard

133

filtering

classpath resources

49-51

preventing on classpath resources

52

FindBugs report

194

FML format

79

FTP

77

G

groupId

29, 34, 245, 252

H

Hansson, David Heinemeier

26

hibernate3 test

248

I

IBM

86

improving quality of code

202, 204, 205

internal repository

212

J

J2EE

building applications85-88, 91-99, 101-110, 112, 114-
122, 124, 126-132
deploying applications

122, 124, 125

Geronimo specifications JAR

107

testing applications

126, 127, 129-132

Java

description

30

java.lang.Object

29

mojo metadata

278-281

Spring Framework

242-246, 250

url

30

Java EE

86

Javadoc

class-level annotations

278

field-level annotations

279

report

181, 182, 184, 185

JDK

248

290

Index

Jester

198

JSP

105

JXR report

181-183

K

Keller, Helen

85

L

life cycle
default

266, 267

for jar packaging

136

local repository
default location of

44

installing to

44, 45

requirement for Maven

32

storing artifacts in

35

locating dependency artifacts

35

M

m2 directory

244, 245

Maven

Apache Maven project

134, 166

artifact guideline

87

build life cycle

30, 41

collaborating with

207-221, 223-240

compiling application sources

40, 41

configuration of reports

171-174

creating your first project

39, 40

default build life cycle

69, 286

developing custom

135, 136
developing custom plugins133-140, 142, 144-163, 165
documentation formats for Web sites

78, 79

getting started with

37-46, 48-51, 53

groupId

34

integrating with Cobertura

194-198

JDK requirement

248

life-cycle phases

266, 267

migrating to

241-254

naming conventions

56

origins of

23

plugin descriptor

137

plugin descriptor

138

preparing to use

38

Repository Manager (MRM)

213

standard conventions

283-286

super POM

285

using Ant tasks from inside

261, 262

using plugins

53

using to assess project health

168

XDoclet plugin

101

XDoclet2

102

maven-plugin packaging

269

McIlroy, Doug

37

migrating to Maven

241-254

mock directory

243

modelVersion

29

modules

avoiding duplication

257

building EJB with Xdoclet

100-102

building Java 5 classes

258-261

dedpendency relationship between Spring

243

EAR

87

EJB

87

flat directory structure

88

installing non-redistributable JARs

263

JAR

87

multi-module build

57

naming

88

naming conventions

56

nested directory structure

89

referring to test classes from

258

tiger

259

WAR

88

mojos

accessing build information

137

addition

273

advanced development

153, 154, 156-163

basic development

141, 142, 144, 146-148, 150-152

capturing information with Java

141-147

definition of

134

implementation language

140

parameter expressions

272-275, 277-281

phase binding

134-136

requiring dependency resolution

155

writing Ant mojos to send e-mail

149-152

my-app directory

39

N

name (element)

30

naming conventions

56

O

overview

benefits of Maven

35

local repository

32-34

principles of Maven

25-27, 30, 32-35

Ruby on Rails (ROR)

26

P

packaging

30, 245

parameter injection

135

phase binding

134-136

plugin descriptor

137, 138

291

Better Builds with Maven

plugins

definition of

28, 134

developer resources

265-274, 276, 278-281

developing custom

133, 134, 137-140, 142, 144-153,

155-163, 165
development tools

138-140

framework for

135, 136

Plugin Matrix

134

terminology

134, 135

using

53, 54

PMD report

181, 186-188, 190

POM

22, 211, 214, 215

creating an organization

215-217

creating files

250

key elements

29

super

29, 285

tiger

260
pom.xml29, 39, 66, 88-90, 92, 96, 97, 101, 103, 106-109,
113-117, 123, 124, 126, 127, 129, 169, 171, 173, 174, 177-
179, 183-185, 187-189, 192, 194, 196, 197, 203, 204, 206,
221, 226, 227, 229, 230, 234, 235, 237-239, 284
preparing to use Maven

38

profiles

55, 70, 72-74

project

assessing health of

167-180, 182-184, 186, 188-191,

193-206
inheritance

55, 59, 61, 63, 84

monitoring overall health of

206

project management framework

22

Project Object Model

22

Q

Quote Streamer

87

R

releasing projects

236-240

reports

adding to project Web site

169-171

Changes

182

Checkstyle

181, 186, 191, 193

Clirr

182, 202-205

configuration of

171-174

copy/paste detection

190

CPD

181, 190

creating source code reference

182, 184

Dependency Convergence

181

FindBugs

194

Javadoc

181, 182, 184, 185

JavaNCSS

194

JXR

181-183

PMD

181, 186-188, 190

selecting

180, 181

separating from user documentation

174-179

standard project information reports

81

Surefire

169, 170, 172-174, 181, 194, 197, 198

Tag List

181, 186, 193, 194

repository

creating a shared

212-214

internal

212

local

32, 34, 35

manager

213

types of

32

restructuring code

264

Ruby on Rails (ROR)

288

running tests

256

S

SCM

35, 212, 215, 230, 236-239

SFTP

75

site descriptor

81

site life cycle

271

snapshot

55, 64, 68, 156, 181, 228

Spring Framework

35, 242-246, 250

src directory

40, 243, 245

SSH2

75

Surefire report

169, 170, 172-174, 181, 194, 197, 198

T

Tag List report

181, 186, 193, 194

test directory

243, 245

testing sources

42, 43

tests

compiling

254, 255

hibernate3

248

JUnit

243

monitoring

194-198

running

256

tiger/src directory

243

tiger/test directory

243

Twiki format

79

V

version

30, 245, 252

version ranges

55, 65-68

W

Web development

building a Web services client project91-93, 117-122
deploying Web applications

114, 115, 117

improving productivity

108, 110-112, 114

X

XDOC format

79

Xdoclet

100, 101

XDoclet2

102

292

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->