2010-03-21 2 views
3

초기화 단계에서 maven-properties-plugin을 사용하여 속성 파일에서 많은 속성을 읽습니다.Maven Plugin 실행을위한 force lifecycle 필수 조건?

또한 부두의 시스템 속성으로 위에서 읽은 것을 포함하여 몇 가지 프로젝트 속성을 설정하도록 구성된 부두 플러그인이 있습니다.

나는 그것이 작동

mvn initialize jetty:run-war 

같은 결과를 실행합니다.

난 그냥 실패

mvn jetty:run-war 

말한다면. 초기화 단계가 포함 된 라이프 사이클에서 명령 줄에 지정된 목표를 강제로 실행하려면 어떻게합니까?

답변

0

방금 ​​mvn jetty:run-war이라고 말하면 실패합니다.

그건 내가 겪고있는 것이 아닙니다. 당신이 jetty:run-war 목표의 문서를 보면, 당신은 그것을 볼 수 있습니다 :

package 이전 자체를 실행에 수명주기 단계의 실행을 호출합니다. package 플러스 결과적으로 플러그인을 바인드 package 자체가 실행되고 이전

그래서 모든 단계. 그리고 실제로, 다음 POM과 : (process-resourcesresources:resources가 결합되어있는 전에) 우리가 볼 수 있듯이

 
$ mvn jetty:run-war 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building q2488581 - Maven Webapp 
[INFO] task-segment: [jetty:run-war] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Preparing jetty:run-war 
[INFO] [properties:read-project-properties {execution: default}] 
[INFO] [resources:resources {execution: default-resources}] 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 0 resource 
[INFO] [compiler:compile {execution: default-compile}] 
[INFO] No sources to compile 
[INFO] [resources:testResources {execution: default-testResources}] 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory /home/pascal/Projects/stackoverflow/q2488581/src/test/resources 
[INFO] [compiler:testCompile {execution: default-testCompile}] 
[INFO] No sources to compile 
[INFO] [surefire:test {execution: default-test}] 
[INFO] No tests to run. 
[INFO] [war:war {execution: default-war}] 
[INFO] Packaging webapp 
[INFO] Assembling webapp[q2488581] in [/home/pascal/Projects/stackoverflow/q2488581/target/q2488581] 
[INFO] Processing war project 
[INFO] Copying webapp resources[/home/pascal/Projects/stackoverflow/q2488581/src/main/webapp] 
[INFO] Webapp assembled in[76 msecs] 
[INFO] Building war: /home/pascal/Projects/stackoverflow/q2488581/target/q2488581.war 
[INFO] [jetty:run-war {execution: default-cli}] 
... 

, properties:read-project-propertiesinitialize 단계에서 호출됩니다

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.stackoverflow</groupId> 
    <artifactId>q2488581</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <name>q2488581 Maven Webapp</name> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.mortbay.jetty</groupId> 
     <artifactId>maven-jetty-plugin</artifactId> 
     <version>6.1.10</version> 
     </plugin> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>properties-maven-plugin</artifactId> 
     <version>1.0-alpha-2</version> 
     <executions> 
      <execution> 
      <phase>initialize</phase> 
      <goals> 
       <goal>read-project-properties</goal> 
      </goals> 
      <configuration> 
       <files> 
       <file>etc/config/dev.properties</file> 
       </files> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

mvn jetty:run-war 실행 다음과 같은 출력을 생성 예상대로

즉, 문제를 재현 할 수 없습니다 (또는 더 구체적이어야합니다).

+0

귀하의 예는 거의 내가하려는 일이며 작동하지 않습니다. 나는 실종됐다. 응용 프로그램 컨텍스트를 변경하여 문제를 해결하여 더 이상 시스템 속성이 아니어도 모두 제거했습니다. – nsayer

1

다음 작품들. 희망이 도움이됩니다. 파일 : pom.xml

<profiles> 
    <profile> 
     <!-- mvn -Plocal --> 
     <id>local</id> 
     <build> 
      <defaultGoal>package</defaultGoal> 
      <plugins> 
       <plugin> 
        <groupId>org.mortbay.jetty</groupId> 
        <artifactId>jetty-maven-plugin</artifactId> 
        <executions> 
         <execution> 
          <phase>package</phase> 
          <goals> 
           <goal>run-war</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 
</profiles>