Có thể giữ quyền trên tệp bằng tài nguyên Maven không: testResources? Trường hợp sử dụng của tôi là trình điều khiển nhị phân Selenium mà tôi đưa vào/src/test/resources mà tôi muốn có thể sử dụng từ các thử nghiệm của mình. Tuy nhiên tôi -rwxr-xr-x được thay đổi để -rw-r - r-- trong mục tiêu/thử nghiệm lớpGiữ quyền trên các tệp có tài nguyên Maven: testResources
Trả lời
này có vẻ là một bug in the Maven Resource Plugin
Nếu bạn đang sử dụng Plugin Maven hội, bạn có thể cấu hình file permissions ở đó.
Nếu không, bạn có thể xem xét giải pháp thay thế. Bạn có thể làm điều này thông qua Ant bằng cách làm một cái gì đó như thế này:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>process-test-classes</id>
<phase>process-test-classes</phase>
<configuration>
<target>
<chmod file="target/test-classes/test.sh" perm="755"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Tôi đã thêm một hồ sơ đó được kích hoạt tự động khi chạy trên một máy Unix. Nó thực hiện một kịch bản shell trực tuyến để chấp nhận quyền truy cập tập tin từ tất cả các tập tin trong một thư mục đệ quy đến các tập tin cùng tên trong một thư mục khác (xem các biến SRC và DST). Tập lệnh yêu cầu /bin/sh
cũng như find
, xargs
và chmod
, sẽ tồn tại trên tất cả các hệ thống hiện đại.
<profile>
<id>unix</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>fix-resource-permissions</id>
<goals>
<goal>exec</goal>
</goals>
<phase>process-test-resources</phase>
<configuration>
<executable>/bin/sh</executable>
<arguments>
<argument>-c</argument>
<argument>
set -x
SRC="${basedir}/src/test/resources"
DST="${project.build.directory}/test-classes"
find "$$SRC" -printf "%P\0" | xargs --verbose -0 -I {} chmod --reference="$$SRC/{}" -f "$$DST/{}"
</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
Giải pháp tuyệt vời !! –
- 1. Làm thế nào để giữ quyền thực thi trên các tệp trong một nguyên mẫu maven
- 2. Maven: bao gồm tệp tài nguyên dựa trên tiểu sử
- 3. Tài nguyên Maven Không sao chép tệp
- 4. Cách lọc tệp cụ thể bằng lọc tài nguyên maven
- 5. tài nguyên maven không được đặt trong tệp jar
- 6. Plugin nguyên mẫu Maven không cho phép. Tài nguyên trong các tài nguyên mẫu thông qua
- 7. Maven war plugin: archiveClasses không có tài nguyên lưu trữ
- 8. Lọc Maven trên các tài nguyên được lưu trữ trong các phụ thuộc
- 9. Plugin và Tài nguyên Lắp ráp Maven
- 10. Câu hỏi về tài nguyên web Maven
- 11. Đổi tên tài nguyên trong Maven
- 12. Giữ các tài nguyên i18n được đồng bộ hóa
- 13. Cách sử dụng tài nguyên maven cũng như tài nguyên thử nghiệm
- 14. Có thể Maven 'nhập khẩu' phụ thuộc tài nguyên?
- 15. Maven: Bao gồm các tài nguyên vào JAR
- 16. Có thể bao gồm các tệp bó tài nguyên trong gói tài nguyên
- 17. Thêm các tệp tài nguyên vào xcode
- 18. Visual Studio 2010 Winforms giữ tài nguyên bị quên
- 19. Tệp TFS phải được giữ nguyên
- 20. Maven plugin tài nguyên loại trừ không hoạt động
- 21. Dịch vụ ủy quyền - trả lại danh sách tài nguyên được ủy quyền
- 22. Đầu ra dự án Maven sao chép vào các tài nguyên dự án khác
- 23. Đường dẫn đến tệp tài nguyên trong dự án Maven là gì?
- 24. thêm tài nguyên bổ sung vào một maven pom
- 25. Embedded GlassFish bỏ qua tài nguyên kiểm tra Maven
- 26. Tài nguyên học tập tốt cho Maven 3/Mercury
- 27. Làm thế nào để sao chép tài nguyên hoặc tài nguyên khác trong Maven tùy thuộc vào môi trường đích?
- 28. tài nguyên trọn gói chỉ như bình sử dụng maven
- 29. Có thể khôi phục các tệp đã bị xóa trong tài nguyên không?
- 30. Sửa đổi tệp tài nguyên hiện có theo lập trình
Cảm ơn bạn! Câu trả lời rất nhanh và cách giải quyết là đủ tốt cho tôi ngay bây giờ. –
Bạn được chào đón! Xin lưu ý rằng Ant là thứ đầu tiên xuất hiện trong tâm trí tôi khi nghĩ đến việc thực hiện nó 'thủ công'. Có lẽ có rất nhiều lựa chọn khác nữa. – wjans
bên trong nó hoạt động khi " " được sử dụng thay vì " ". bằng cách sử dụng antrun plugin v1.7 –