2012-11-07 3 views
6

Java 에이전트에 대한 인수를 사용하여 jvm 유닛 테스트를 시작하기 위해 maven sure fire 플러그인을 구성하려고합니다. 에이전트 jar 파일은 maven 중앙에서 가져 오기 때문에 maven이 에이전트의 jar 파일 경로를 자동으로 찾아 내기를 원합니다.종속성이있는 jvm 에이전트를 사용하도록 maven surefire를 구성하는 방법은 무엇입니까?

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

메이븐 코디네이트를 사용하는 프로젝트의 종속성 경로를 에이전트에서 어떻게 참조 할 수 있습니까?

답변

8

필요한 병 중 하나를 대상 대상으로 복사 할 수 있습니다. 그런 다음 명령 줄에서 해당 jar를 참조하십시오.

<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

매우 실망 스럽습니다. 이것은 나를 위해 작동하지 않습니다. – Kieveli

1

사용

종속성 플러그인의 속성 모조 : 여기

는 (유효한 에이전트 항아리가 아니라 단지 예를 보여주기 위해 log4j를 사용) 예입니다.

<argLine>-javaagent:${org.springframework:spring-instrument:jar}</argLine> 
관련 문제