2011-07-06 16 views
0

私はMaven 3.0.3を使用しています。 WARファイルをパッケージ化する前に、環境固有のプロパティをコピーするタスクを実行します。以下は私の仕事です。私の仕事にはどのような段階がありますか?

    <plugin> 
          <artifactId>maven-antrun-plugin</artifactId> 
          <executions> 
            <execution> 
              <phase>prepare-package</phase> 
              <goals> 
                <goal>run</goal> 
              </goals> 
              <configuration> 
                <tasks> 
                  <delete file="${project.build.outputDirectory}/environment.properties"/> 
                  <copy file="src/main/resources/${env}_environment.properties" 
                      tofile="${project.build.outputDirectory}/environment.properties" /> 
                  <delete file="${project.build.outputDirectory}/${env}_hibernate.cfg.xml"/> 
                  <copy file="src/main/resources/${env}_hibernate.cfg.xml" 
                      tofile="${project.build.outputDirectory}/hibernate.cfg.xml" /> 
                  <echo message="Copied ${env}_hibernate.cfg.xml properties. " /> 
                </tasks> 
              </configuration> 
            </execution> 
          </executions> 
        </plugin> 

しかし、実行することによって、私のTomcatのプロファイルからゴールを呼び出し、私のアプリを起動したときに「MVN -P TomcatのTomcatを:運転」、上記のタスクが実行を取得していません。どのように私はこれを修正することができる任意のアイデア?私が含むTomcatのプロファイルは以下の通りです。 - デイブ

  <profile> 
        <id>tomcat</id> 
        <activation> 
          <property> 
            <name>env</name> 
            <value>dev</value> 
          </property> 
        </activation> 
        <build> 
          <plugins> 
            <plugin> 
              <groupId>org.codehaus.mojo</groupId> 
              <artifactId>tomcat-maven-plugin</artifactId> 
              <version>1.1</version> 
              <configuration> 
                <charset>UTF-8</charset> 
                <path>/leadsmonitor</path> 
                <server>nnadbmon-tomcat</server> 
                <update>true</update> 
                <url>http://nnadbmon.mydomain.com:8080/manager</url> 
                <warFile>target/leadsmonitor.war</warFile> 
                <systemProperties> 
                  <JAVA_OPTS>-Xms256m -Xmx512m -XX:MaxPermSize=256m -XX:NewRatio=6 -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -verbose:gc"</JAVA_OPTS> 
                </systemProperties> 
              </configuration> 
            </plugin> 
          </plugins> 
        </build> 
      </profile> 

答えて

0

compileフェーズに添付する必要があります。実際に実行されるのはです。編集が完了しました。

+0

コンパイルフェーズに何を添付しますか? – Dave

+0

申し訳ありませんが、私はant-run-pluginを参照していました。それはあなたのためにそれを行う必要があります。 – carlspring

0

あなたのコマンドにそれを追加できるようにMaven-antrun-プラグインが用意パッケージで動作します:

mvn -P tomcat tomcat:run prepare-package 
+0

"mvn -P tomcat tomcat:run"を実行するときに、pom.xml内でconfigureパッケージを自動的に実行するように設定できる方法はありますか? – Dave

0

tomcat:runの文書から、

tomcat:runはの実行を呼び出しますライフサイクルフェーズコンパイルを実行する前にそれ自身を実行してください。

prepare-package相は後で来る - package

前におそらく、あなたはtomcat:run-warを試してみてください。

tomcat:run-warライフサイクルフェーズパッケージの実行を起動してから実行します。

関連する問題