Post on 14-Jan-2017
Apache Maven• project
• POM.xml
build( ), Dependencies( ),
SCMs( ),Release( ),Documentation( ),
Reporting( )
• build project
• project , ,
JDKMaven Java JDK
Apache Maven Download Site2015/11/24 LastVersion:Apache Maven 3.3.9
Maven• M2_HOME=C:\Program Files\Apache Software
Foundation\apache-maven-3.2.5
• M2=%M2_HOME%\bin
• MAVEN_OPTS=-Xms256m -Xmx512m
• “;%M2%” “Path”
Project Object Model (POM)
• Maven
• project build project
• Maven POM Project dependencies, plugins, goals, build profiles, project version, developers, mailing list
• POM groupId, artifactId, version Project repository Unique
Key
key
groupId com.fpg.ec
artifactId authority, bid, j2sp groupId+artifactId repository project
versionproject
groupid+artifactid repositorycom.fpg.ec:authority:1.0com.fpg.ec:authority:1.1
Maven Build Lifecycle
1. validate
2. initialize
3. generate-sources
4. process-sources
5. generate-resources
6. process-resources
7. compile
7. compile
8. process-classes
9. generate-test-sources
10.process-test-sources
11.test-compile
12.process-test-classes
13.test
14.prepare-package
15.package
16.pre-integration-test
14.prepare-package
15.package
16.pre-integration-test
17.integration-test
18.post-integration-test
19.verify
20.install
21.deploy
Maven Repositories
• Local Repositories
Maven
local repository default: C:\Users\{Login Account}\.m2\repository
• Central Repositories
Maven
• Remote Repositories
Maven
1. Local repositories, 2
2. Central repositories, Remote repositories 4
3. Remote repositories
4. Remote repositories
• Maven plugin framework,task plugin
• plugin jar, WAR, EAR , javac ,, project project report
• mvn [plugin name]:[goals name]
• maven-compiler-plugin compile goal . mvn compiler:compile
• Maven archetype project
• Archetype maven plugin PG
• cmd mvn archetype:generate
• eclipse maven project
• JavaPath JDK JRE, package
• Authority package
• WAR package
Authority1.0
WARAuthority1.0-SNAPSHOT
WARAuthority1.0-SNAPSHOT
Auto Build
Lib1:1.0
Lib2:1.0
Lib3:1.0
Root:1.0 App-Core-lib:1.0
App-Data-lib:1.0
App-UI-WAR:1.0
• App-UI-WAR App-Core-lib App-Data-lib • Root App-Core-lib App-Data-lib parent • Root Lib1 lib2 Lib3
7. tomcat maven plugin
http://tomcat.apache.org/maven-plugin-trunk/index.html
ModuleWeb layer project project,
web layer project POM.xml
<modules> <module> project name 1</module> <module> project name 2</module> … <module> project name N</module>
</modules>