Maven
ComTechnology - IDE - Maven
Maven
1.What is Maven?
Project Build/Management
project content 标准目录
基础jar包
Maven Project 自带的jar
如webapp的jar
character:
约定优于配置
maven为工程提供了合理的默认行为;
开发者不必要自己实现项目的构建过程;
推荐:自定义
function:
Maven 能够帮助开发者完成以下工作:
构建
文档生成
报告
依赖
SCMs
发布
分发
邮件列表
2.Environment
基于JDK
Maven 3.3 要求 JDK 1.7 或以上
Maven 3.2 要求 JDK 1.6 或以上
Maven 3.0/3.1 要求 JDK 1.5 或以上
Windows-设置bin
高级系统设置-环境变量
Maven_HOME:maven资源的URL
Path设置启动:...\bin
命令行验证:
java -version
mvn -version
3.POM-Project Object Model
pom.xml-gen content
基本组成:
工程组(groupId)组Id
项目名称(artifactId)人工Id
版本
project dependencies
plugins
goals
build profiles
project version
developers
mailing list
project 元素
三个必须的字段:groupId, artifactId,version
结构:{groupId:artifactId:version}
API-maven:getGroupId()/getArtifactId()/getVersion()
否则NullPointException
<project>-工程-gen element
<modelVersion>4.0.0</modelVersion>-版本
<groupId>...</groupId>-工程组
<artifactId>...</artifactId>-项目名称
<packaging>war</packaging>-包类型war/jar
<version>0.0.1-SNAPSHOT</version>-版本
<name>... Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- 集中定义依赖版本号 -->
<properties>
<junit.version>4.12</junit.version>
</properties>
<dependencyManagement> -依赖管理
<dependencies> -根依赖
<!-- 单元测试 -->
<dependency> -子依赖/具体体现
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version> -EL表达式
<scope>test</scope> -作用域:src-test-java/没有则默认整个工程
</dependency>
</dependencies>
</dependencyManagement>
<build> -构建
<finalName>...</finalName> -Project Name
<plugins> -根插件
<!-- 资源文件拷贝插件 -->
<plugin> -子插件
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!-- 配置Tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
总:
工程
依赖
构建
依赖:
属性/资源
版本号
依赖管理
根依赖Tag
子依赖Tag
{GroupId:ArtifactId:Version}
构建:
项目名称
插件
根插件
子插件
resources
compiler
{GroupId:ArtifactId:Version}
插件管理
根插件
子插件
server
4.Maven与Eclipse
Window-Preferences-Maven-UserSetting
maven-conf-settings.xml
<localRepository>...\app\maven\repository</localRepository>
repository地址设置
Maven Repository:
local-本地
central-中央
remote-远程
Maven Project Archetype-工程原型
Maven Dyanmic Web Project
{groupId:artifactId:version}
org.apache.maven.archetypes
maven-archetype-webapp
1.0
5.命令行创建/窗口创建