Maven权威指南学习札记(第9章)

Maven权威指南学习笔记(第9章)

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>