2012-02-14 17 views
15

Tôi đang sử dụng Maven 3.0.3. Để thử nghiệm tích hợp dự án của chúng tôi, chúng tôi yêu cầu tạo bộ đệm khung ảo, sử dụng các lệnh Unix. Tuy nhiên, khi chúng tôi chạy dự án của chúng tôi trên các máy Windows, chúng tôi không cần điều này. Chúng tôi sử dụngLàm cách nào để plugin này chỉ chạy trên nền tảng không phải Windows?

 <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>start-xvfb</id> 
        <phase>process-test-resources</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <tasks> 
          <echo message="Starting xvfb ..." /> 
          <exec executable="Xvfb" spawn="true"> 
           <arg value=":0.0" /> 
          </exec> 
         </tasks> 
        </configuration> 
       </execution> 
       <execution> 
        <id>shutdown-xvfb</id> 
        <phase>post-integration-test</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <tasks> 
          <echo message="Ending xvfb ..." /> 
          <exec executable="killall"> 
           <arg value="Xvfb" /> 
          </exec> 
         </tasks> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

Làm cách nào để chạy trên nền tảng này khi không phải là cửa sổ và ngăn chặn hoạt động của plugin? Cảm ơn, - Dave

Trả lời

19

Bạn có thể làm điều này với hồ sơ. Có công tắc kích hoạt cấu hình cho cài đặt OS. Và plugin rất thông minh, bạn có thể sử dụng phủ định.

<profiles> 
    <profile> 
    <activation> 
     <os> 
     <family>!windows</family> 
     </os> 
    </activation> 
    <build> 
     <plugins> 
     <plugin> 
      ... 
     </plugin> 
     </plugins> 
    </build> 
    ... 
    </profile> 
</profiles> 

Thông tin thêm về tiểu sử có thể được tìm thấy here và về giá trị bạn có thể sử dụng here.

+0

bạn có thể đặt giá trị phân tách bằng dấu phẩy cho họ OS không? –

+0

Tôi muốn nó thực thi chỉ trên linux –

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