一、Maven 四大特性
1.依赖管理系统(jar 项目的多模块)
<dependency><!-- 依赖关系-->
<groupId>javax.servlet</groupId> com.baidu <!-- 组织-->
<artifactId>javax.servlet-api</artifactId> ueditor echarts<!-- 具体产品-->
<version>3.1.0</version><!-- 版本-->
</dependency>
2.多模块构建
父项目:new——mavenprjocet
子项目:new——mavenmodul
crm-parent-pom
crm-dao-jar
crm-service-jar
crm-servlet-war
3.一致的项目结构(不同的 IDE 项目结构是一致)
4. 一致的构建模型和插件机制(通过pom 配置tomcat、jetty 插件)
<build>
<finalName>test</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.5.v20120716</version>
<configuration>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>801</port> <!-- 访问端口,默认8080 -->
</connector>
</connectors>
<stopPort>9966</stopPort>
<stopKey>foo</stopKey>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webApp>
<!-- web项目根路径 -->
<contextPath>/</contextPath>
</webApp>
</configuration>
</plugin>
</plugins>
</build>
2,使用jetty插件
3,创建多模块项目
4,进行项目打包,两种方式
<!-- 打包环境配置 开发环境 测试环境 正式环境 -->
<profiles>
<profile>
<id>dev</id><!-- 打包环境配置 开发环境 -->
<properties>
<env>dev</env>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id><!-- 打包环境配置 测试环境 -->
<properties>
<env>test</env>
</properties>
</profile>
<profile>
<id>product</id><!-- 打包环境配置 正式环境 -->
<properties>
<env>product</env>
</properties>
</profile>
</profiles>
<!-- 对于项目资源文件的配置 -->
<build>
<finalName>dev</finalName>
<resources>
<resource>
<directory>src/main/resources/${env}</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
src/main/resource目录下新建folder文件dev test product
选中项目,右键 run as -maven builde-输入命令
clean compile package -Dmaven.test.skip=true 打包默认环境(开发环境)并且跳过 maven 测试操作
clean compile package -Ptest -Dmaven.test.skip=true 打包测试环境并且跳过 maven 测试操作
clean compile package -Pproduct -Dmaven.test.skip=true 打包生产环境并且跳过 maven 测试操作