Đây là những gì tôi đang làm trong dự án hiện tại của tôi, nó đặt findbugs-exclude.xml
trong dự án cha mẹ (mà tôi biết bạn không muốn), nhưng nó sửa chữa vấn đề DRY của việc duy trì nó ở hai nơi. Nó đơn giản hơn việc giải nén, nhưng yêu cầu cấu trúc dự án đầy đủ phải là cục bộ. (Tôi nghĩ rằng giải pháp giải nén sẽ hữu ích khi sử dụng cùng một cấu hình trên nhiều dự án, như trong môi trường công ty.)
Tôi lưu trữ cấu hình tìm kiếm của mình trong parent/src/main/resources/shared/findbugs-exclude.xml
, nhưng miễn là nó nằm trong thư mục cụ thể thì không ' t vấn đề.
sau đó tôi sử dụng thuộc tính để mô tả vị trí của thư mục 'chia sẻ':
<properties>
<myproject.parent.basedir>${project.parent.basedir}</myproject.parent.basedir>
<myproject.parent.shared.resources>${myproject.parent.basedir}/src/main/resources/shared</myproject.parent.shared.resources>
</properties>
Và tham khảo các đặc tính này khi cấu hình FindBugs trong các phụ huynh:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<configuration>
<excludeFilterFile>${myproject.parent.shared.resources}/findbugs-exclude.xml</excludeFilterFile>
</configuration>
...
</plugin>
Tất cả các dự án con trực tiếp bây giờ sẽ chạy findbugs, tham khảo các tập tin cấu hình trong phụ huynh. Nếu bạn có nhiều cấp độ lồng ghép dự án, bạn sẽ phải ghi đè lên số myproject.parent.basedir
trong phụ huynh. Ví dụ nếu bạn có cha mẹ < - phụ mẹ < - đứa trẻ, bạn sẽ đặt:
<properties>
<myproject.parent.basedir>${project.parent.parent.basedir}</myproject.parent.basedir>
</properties>
Nguồn
2011-07-22 16:22:15
Bất kỳ hits về câu hỏi này? Tôi thấy mình với cùng một nhu cầu, cố gắng để có được một tham chiếu đến các tập tin loại trừ được đặt trong dự án con từ file pom cha mẹ –
Không, tôi vẫn không có một giải pháp tốt. Bây giờ tôi chỉ cập nhật các tập tin ở cả hai nơi. Vi phạm DRY, yuck. –