2013-08-21 2 views
10

mvn exec:exec 또는 mvn exec:java을 수행 할 때 소스를 컴파일하고 성공한 경우 실행하도록 POM을 설정하려고합니다.exec 전 Mvn 컴파일

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>exec</phase> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.2.1</version> 
      <configuration> 
       <mainClass>my.main.class</mainClass> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

중 하나 mvn exec:exec ... 또는 mvn exec:java 처음 컴파일되지 않습니다 내가 않는 경우 :

나는 다음과에 대한 <execution> 부분을 이동 시도했지만 작동을 얻을 수 있습니다. 나는 <execution> 부분을 exec 플러그인 섹션에 넣으려고했지만 그 중 하나도 작동하지 않습니까? mvn verify를 실행보다

<profile> 
    <id>proxy</id> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.2.1</version> 
       <executions> 
        <execution> 
         <phase>verify</phase> 
         <goals> 
          <goal>exec</goal> 
         </goals> 
         <configuration> 
          <mainClass>my.main.class</mainClass> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</profile> 

과 :

+0

exec : exec/exec : java보다 먼저 "compiler : compile"을 실행하지 마십시오. –

+2

@Elad 나는 컴파일하는 것을 잊고 왜 혼란스러워하는지 전혀 모르겠다. – Lerp

+0

@Lerp 같은 문제가 발생했을 때 해결책을 찾았습니까? – Yaroslav

답변

1

당신은 (아래의 예에서 verify) build lifecycle에서 compile 다음 위상에 간부 인 플러그인을 바인딩 할 수 있습니다.

답변이 매우 늦은 것으로 알고 해결책을 찾았을 수 있습니다. 나는 그것을 필요로하는 다른 사람들을위한 참고서로 떠날뿐입니다.

+3

고맙지 만, OP가'mvn exec : [exec | java]'를 [직접] 실행하는 동안 컴파일을 시도하려고하고 있으며, '정상적인'Maven 빌드 사이클의 일부로 ** 아닌 ** 컴파일을 시도하고 있습니다. 명확히하기 위해, 우리는 'mvn exec'를 실행할 때 먼저 코드를 생성하고 싶지만 ** 정상적인 Maven 빌드 사이클/단계에서 'exec'를 실행하지 않기를 원합니다. –

0

낡은 주제이지만 다른 사람이 이에 대한 대안이 될 수 있습니다.

그것은 당신이 찾고있는 사람이 아닙니까 정확히 무엇을,하지만 당신은 컴파일하고 하나의 명령을 사용하여 실행할 수 있습니다

mvn compile exec:exec 

항상을 실행하기 전에 프로젝트를 컴파일이 방법 메이븐합니다.

관련 문제