1、在pom中引用变量问题
(1) 一个POM可以通过一对大括弧和前面一个美元符号来包含对属性的引用。
(2) 还可以通过pom.xml或者settings.xml中的properties元素设置自己的属性。
2、依赖范围
依赖范围分为compile、provided(特别注意)、runtime、test、system等五种范围方式,引用如下:
<scope>provided</scope>
3、可选依赖
<optional>true</optional>
在父pom.xml中声明,而在子pom.xml中具体引用依赖。
4、依赖版本界限
采用数学集合中的方式表达[3.7,4.1],(3.7,4.1]等等。[4.0,)正无穷大。
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysqlVersion}</version>
</dependency>
</dependencies>
<properties>
<mysqlVersion>(5.1,)</mysqlVersion>
</properties>
5、依赖归类
可以定义一个公共的依赖的pom文件。如下:
<project>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>persistence-deps</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>${hibernateVersion}</version>
</dependency>
</dependencies>
<properties>
<hibernateVersion>3.2.5.ga</hibernateVersion>
</properties>
</project>
在另一个pom中引用上面的pom,注意type为pom
<project>
<description>This is a project requiring JDBC</description>
...
<dependencies>
...
<dependency>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>persistence-deps</artifactId>
<version>1.0</version>
<type>pom</type>
</dependency>
</dependencies>
</project>