Đề nghị của tôi là bạn nên tạo một POM mẹ từ đó dự án của bạn có thể lấy được các thiết lập của bạn. POM cha mẹ này chỉ đơn giản là một dự án Maven 2 khác, nhưng với kiểu "pom" thay vì "jar".
Ví dụ, bạn có thể có một pom mẹ như thế này:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.company.projectname</groupId>
<artifactId>projectname</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>projectname</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<superprop1>this property is available in all child projects</superprop1>
<superprop2>this property is available in all child projects</superprop2>
<superprop3>this property is available in all child projects</superprop3>
</properties>
</project>
Và một đứa trẻ của dự án có thể trông như thế này:
<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">
<parent>
<artifactId>projectname</artifactId>
<groupId>com.company.projectname</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>child-project</artifactId>
<packaging>jar</packaging>
<name>child-project</name>
<description>
My child project
</description>
</project>
Tất cả những gì bạn khai báo trong POM mẹ tại là có sẵn trong pom trẻ em. Trong ví dụ về, dự án con sẽ tự động có sự phụ thuộc JUnit có sẵn. Làm theo cách này cũng sẽ đảm bảo rằng môi trường được tự động tìm ra so với nếu mỗi nhà phát triển sẽ phải lộn xộn xung quanh với POM siêu cài đặt Maven của họ.
Nguồn
2009-06-12 13:38:03