2012-11-07 23 views
6

Tôi muốn định cấu hình trình cắm lửa chắc chắn của maven để bắt đầu kiểm tra đơn vị jvm với đối số cho tác nhân java. Tệp jar tác nhân đang được lấy từ trung tâm của maven vì vậy tôi muốn maven tự động tìm ra đường dẫn đến tệp jar của tác nhân.Làm thế nào để cấu hình chắc chắn maven để sử dụng một tác nhân jvm đó là một phụ thuộc?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12.4</version> 
    <configuration> 
     <argLine>-javaagent: How to reference an agent jar that is a depedency </argLine> 
    </configuration> 
</plugin> 

Làm cách nào tôi có thể tham chiếu đường dẫn đến tác nhân phụ thuộc của dự án sử dụng phối hợp maven?

Trả lời

8

Bạn có thể sao chép một trong các lọ cần thiết của mình đến đích đích. Sau đó, tham khảo jar đó trên dòng lệnh của bạn.

Dưới đây là một ví dụ (sử dụng log4j mà không phải là một jar đại lý hợp lệ nhưng chỉ để hiển thị một ví dụ):

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.5.1</version> 
    <executions> 
     <execution> 
      <id>copy-agent</id> 
      <phase>process-test-classes</phase> 
      <goals> 
       <goal>copy</goal> 
      </goals> 
      <configuration> 
       <artifactItems> 
        <artifactItem> 
         <groupId>log4j</groupId> 
         <artifactId>log4j</artifactId> 
         <version>1.2.14</version> 
         <outputDirectory>${project.build.directory}/agents</outputDirectory> 
         <destFileName>my-special-agent.jar</destFileName> 
        </artifactItem> 
       </artifactItems> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12.4</version> 
    <configuration> 
     <argLine>-javaagent:${project.build.directory}/agents/my-special-agent.jar</argLine> 
    </configuration> 
</plugin> 
+0

Rất bực bội. Điều này không hiệu quả với tôi. – Kieveli

1

Sử dụng

Các thuộc tính mojo của các plugin phụ thuộc.

<argLine>-javaagent:${org.springframework:spring-instrument:jar}</argLine> 
Các vấn đề liên quan