maven是规定了一种项目代码布局格式,maven按照这种格式进行代码管理、依赖jar管理、单元测试、资管管理、编译管理、发布管理。
maven的核心是mvn命令和pom.xml文件
pom.xml文件作为maven和核心之一,对其语法使用总结如下:
1.properties关键字:项目的全局属性,如打包需要的编码
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
2.repositories关键字:配置仓库的http服务路径,可以是本地私服、也可以是网络服务器私服、或者官方服务器,有顺序
<repositories>
<repository>
<id>build.local.libs</id>
<url>http://build.local:8081/artifactory/libs-release-local</url>
<layout>default</layout>
</repository>
<repository>
<id>build.local.ext</id>
<url>http://build.local:8081/artifactory/ext-release-local</url>
</repository>
<repository>
<id>morphia.local</id>
<name>build.local-releases</name>
<url>http://build.local:8081/artifactory/morphia</url>
</repository>
</repositories>
3.dependencies关键字:所有的依赖jar信息
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
4.内部项目公共jar包发布
<distributionManagement>
<repository>
<id>local-artifactory</id>
<name>build.local-releases</name>
<url>http://build.local:8081/artifactory/libs-release-local</url>
</repository>
</distributionManagement>
5.项目profile配置
<profiles>
<profile>
<id>dist</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.0.1.v20110908</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>attached</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>sun.jdk</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<properties>
<toolsjar>C:/Program Files/Java/jdk1.6.0_45/lib/tools.jar</toolsjar>
</properties>
</profile>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<!-- 此处根据实际配置 -->
<systemPath>C:/Program Files/Java/jdk1.6.0_45/lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
build设置:
Goals:clean install assembly:assembly
Profiles:dist