これまでは、コマンドmvn clean compile hibernate3:hbm2java
を使用してプログラムを起動していました。これらの 3 つの目標を 1 つの目標に組み合わせる方法はありますmvn run
かmvn myapp:run
?
3 に答える
私の他の答えとは完全に異なる別の解決策はexec-maven-plugin
、 を goal で使用することexec:exec
です。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<executable>mvn</executable>
<arguments>
<argument>clean</argument>
<argument>compile</argument>
<argument>hibernate3:hbm2java</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
そして、次のように実行するだけです:
mvn exec:exec
このようにすることで、他のプラグインを変更することはなく、どのフェーズにもバインドされません。
Hibernate3 Mavenプラグインサイトによると、hbm2java
目標はgenerate-sources
デフォルトでフェーズにバインドされます。
通常、プロジェクトをクリーンアップする必要はなく、インクリメンタルビルドを実行します。
とにかく、とを追加するmaven-clean-plugin
と、すべてが1つのコマンドになりますhibernate3-maven-plugin
。pom.xml
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>hbm2java</id>
<goals>
<goal>hbm2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
hibernate3-maven-plugin
を後で実行する場合は、常にデフォルトフェーズの後に実行されるためcompile
、目標をに設定します。compile
したがって、1つのコマンドですべての目標を実行するには、次のコマンドを実行するだけです。
mvn compile
そして、何らかの理由で掃除したくない場合は、次のように入力してください。
mvn compile -Dclean.skip
Maven ビルドのデフォルトの目標を定義することもできます。次に、コマンドライン呼び出しは次のようになります
mvn
デフォルトの目標の定義
次の行を pom.xml に追加します。
<build>
<defaultGoal>clean compile hibernate3:hbm2java</defaultGoal>
</build>