很长时间没有更新博客了,最近因为公司需要使用maven,自己也想学习maven的使用,研究了一下,网上有太多的maven例子,唯独少了对建立的maven 项目中生成的pom文件中的各个节点的说明,自己研究了一下,希望对大家有用:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion><!--当前pom的版本-->
<groupId>com.index</groupId><!--组ID,这里可以填写类似包名的格式,当提交到代码仓库时则根据你指定的目录生成目录-->
<artifactId>testweb</artifactId><!--可以理解成工程名称,生成的报名是artifactId+版本号-->
<packaging>war</packaging><!--打成的包的类型-->
<version>3.9.9-SNAPSHOT</version><!--当前工程生成的版本号-->
<name>web应用</name><!--类似描述性的东西-->
<url>http://www.google.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--工程构建时使用的编码-->
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0.1</version>
<type>jar</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId> <!--包的groupId-->
<artifactId>geronimo-servlet_2.4_spec</artifactId><!--包名称或者是工程名称-->
<version>1.1</version><!--引用的包的版本号-->
<scope>provided</scope><!--包的使用范围test:测试时使用,compile:编译时使用 import:引入 runtime:运行时使用 provided:必要 system:系统包-->
<type>jar</type><!--引入的类型-->
</dependency>
</dependencies>
<profiles> <!--一些自定义配置信息,在运行maven命令时跟上相应的参数,则会找相应的配置信息 -->
<profile>
<id>develop</id><!--配置id-->
<activation>
<activeByDefault>true</activeByDefault><!--默认是否启用,true or false-->
</activation>
<properties> <!--配置信息-->
<!--以下为自定义元素-->
<com.index.cmshoutai.jdbc.url>jdbc:oracle:thin:@192.168.102.48:1521:ORA10G</com.index.cmshoutai.jdbc.url>
<com.index.cmshoutai.jdbc.username>newweb</com.index.cmshoutai.jdbc.username>
<com.index.cmshoutai.jdbc.password>newweb</com.index.cmshoutai.jdbc.password>
</properties>
</profile>
<profile>
<id>12530online</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<com.index.cmshoutai.jdbc.url>jdbc:oracle:thin:@10.25.5.36:1521:ora10g1</com.index.cmshoutai.jdbc.url>
<com.index.cmshoutai.jdbc.username>newweb</com.index.cmshoutai.jdbc.username>
<com.index.cmshoutai.jdbc.password>newweb</com.index.cmshoutai.jdbc.password>
</properties>
</profile>
</profiles>
<build>
<finalName>cmshoutai</finalName><!--生成的名称-->
<resources>
<resource>
<directory>src/main/resources</directory><!-- 存放资源文件存放目录-->
<filtering>true</filtering><!--是否过滤-->
</resource>
</resources>
<outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes</outputDirectory><!--输出目录-->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<encoding>UTF8</encoding>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.6</version>
<configuration>
<projectnatures>
<java.lang.String>com.genuitec.eclipse.j2eedt.core.webnature</java.lang.String>
<java.lang.String>org.eclipse.jdt.core.javanature</java.lang.String>
</projectnatures>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>compile</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes/</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>releases</id>
<name>Internal Releases</name>
<url>http://nexus.indexnet.cn:8082/nexus/content/repositories/releases</url><!--正式版仓库地址-->
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Internal Snapshots</name>
<url>http://nexus.indexnet.cn:8082/nexus/content/repositories/snapshots</url><!--快照版仓库地址-->
</snapshotRepository>
<site>
<id>mojo.website</id>
<name>Mojo Website</name>
<url>file:///usr/local/tomcat/webapps/doc/cmshoutai</url>
</site>
</distributionManagement>
</project>
有不对的地方还望多多指教!~~~