1.完整的项目过程包括:
清理 编译 测试 打包 集成测试 验证 部署
2. Maven生命周期
clean 清理项目
pre -clean 执行清理前的工作
clean 清理上一次构建生成的所有文件
post-clean 执行清理后的文件
default 构建项目 (核心)
site 生成项目站点
pre - site 生成项目站点前要完成的工作
site 生成项目的站点文档
post - site 在生成项目站点后要完成的工作
site-deploy 发布生成的站点到服务器上
相互独立 。
3.
<!--安装插件 -->
<build>
<!-- 运行 clean package 完成了直接编译 打包 -->
<plugins>
<plugin>
<!-- 坐标 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion><!-- 固定版本 -->
<groupId>com.lanz.hi</groupId><!-- 反写的公司网址+项目名 -->
<artifactId>hi</artifactId><!-- 项目名+ 模块名 -->
<version>0.0.1-SNAPSHOT</version><!-- 版本号 0->表示大版本好,0->表示分支版本号
1表示小版本好,Release稳定,snapshot快照,beta公测,GA正式发布,alpha内部测试 -->
<packaging>jar</packaging><!-- 打包方式moren jar ,war,zip,porm -->
<name>hi</name><!-- 项目描述名称 -->
<url>http://maven.apache.org</url><!-- 项目地址 -->
<description></description><!-- 项目描述 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope><!-- 依赖范围 -->
<!-- 设置依赖是否可选 -->
<optional></optional>
<!-- 排除依赖传递列表 -->
<exclusions>
<exclusion></exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- 依赖管理 -->
<dependencyManagement></dependencyManagement>
<!--安装插件 -->
<build>
<!-- 运行 clean package 完成了直接编译 打包 -->
<plugins>
<plugin>
<!-- 坐标 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
4.
<scope>test</scope><!-- 依赖范围 -->
5. 传递依赖
<!-- 依赖 知道指定依赖的坐标 ,依赖的坐标前提是要编译打包之后才行-->
<dependency>
<groupId>com.lanz.hi</groupId><!-- 反写的公司网址+项目名 -->
<artifactId>hi</artifactId><!-- 项目名+ 模块名 -->
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- 依赖 知道指定依赖的坐标 ,依赖的坐标前提是要编译打包之后才行-->
<dependency>
<groupId>com.lanz.hi</groupId><!-- 反写的公司网址+项目名 -->
<artifactId>hi</artifactId><!-- 项目名+ 模块名 -->
<version>0.0.1-SNAPSHOT</version>
<!-- 排除依赖 -->
<exclusions>
<exclusion>
<!-- 需要排除的坐标 -->
<groupId>com.lanz.hi</groupId><!-- 反写的公司网址+项目名 -->
<artifactId>hi</artifactId><!-- 项目名+ 模块名 -->
</exclusion>
</exclusions>
</dependency>
6 依赖冲突 :
短路优先: 短度
先声明先优先; 长度相同。
7.聚合 和继承
<!-- 聚合 -->
<modules>
<module><!-- 需要集合的项目地址 --></module>
<module><!-- 需要集合的项目地址 --></module>
</modules>
8.
<!-- 用 jetty:run运行发布 --> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> </plugin> </plugins> ====== <!-- 用 jetty:run运行发布 也可以加入tomcat,--> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> <executions> <execution> <!--在打包成功后使用jetty:run来运行jetty服务 --> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> 访问路径: localhost:8080 ====== tomcat 运行 访问路径: localhost:8080/项目名称
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin>