2011-06-29 31 views
16

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

22

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> 
+0

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ờ. –

+0

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

+0

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 –

3

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, xargschmod, 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> 
+0

Giải pháp tuyệt vời !! –

Các vấn đề liên quan