Bạn không cần plugin-maven-resources nếu bạn có một môi trường đơn giản.
Trong ví dụ này, log4j.properties B
là file bạn sử dụng cho sản xuất và đang trong thư mục src/main/java
và log4j.properties A
là file bạn sử dụng để phát triển và đang trong thư mục /Users/junger/.m2/
.
Trong pom.xml của bạn:
<properties>
<log4j.properties.directory>src/main/java</log4j.properties.directory>
</properties>
<build>
<resources>
<resource>
<directory>${log4j.properties.directory}</directory>
<includes>
<include>log4j.properties</include>
</includes>
</resource>
</resources>
</build>
Bây giờ, trong /Users/junger/.m2/settings.xml của bạn (tạo một nếu nó không tồn tại):
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<log4j.properties.directory>/Users/devuser/.m2/</log4j.properties.directory>
</properties>
</profile>
</profile>
Bằng cách sử dụng phương thức này, mỗi nhà phát triển có thể có một thư mục log4j.properties khác và bạn giữ sạch pom.xml của mình.
Nguồn
2013-03-28 18:00:34
Bạn có sử dụng maven-release-plugin quản lý sản xuất xây dựng? – yorkw
Không, tôi không bao giờ là trái tim của maven-release-plugin trước đây. Tuy nhiên, cảm ơn, tôi sẽ tìm thấy nếu nó có thể đối phó với vấn đề. – Kedron
Đây là một câu hỏi định kỳ yên tĩnh và tôi muốn thêm hai xu của tôi. Việc tạo nhiều bản dựng cho môi trường khác nhau thường không được khách hàng chấp nhận. Họ muốn ONE xây dựng cho tất cả các môi trường để loại bỏ bất kỳ vấn đề hồi quy nào với nhiều bản dựng. Tệp log4j phải được khai báo bên ngoài ứng dụng của bạn như bất kỳ biến môi trường cụ thể nào. Triết lý 'xây dựng một khi triển khai bất cứ nơi nào' dường như luôn bị lạc với các cấu hình xây dựng maven. – tom