maven是規定了一種項目代碼佈局格式,maven按照這種格式進行代碼管理、依賴jar管理、單元測試、資管管理、編譯管理、發佈管理。java
maven的核心是mvn命令和pom.xml文件apache
pom.xml文件做爲maven和核心之一,對其語法使用總結以下:服務器
1.properties關鍵字:項目的全局屬性,如打包須要的編碼 網絡
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
2.repositories關鍵字:配置倉庫的http服務路徑,能夠是本地私服、也能夠是網絡服務器私服、或者官方服務器,有順序maven
<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設置:ui
Goals:clean install assembly:assembly編碼
Profiles:dist