20

これまでは、コマンドmvn clean compile hibernate3:hbm2javaを使用してプログラムを起動していました。これらの 3 つの目標を 1 つの目標に組み合わせる方法はありますmvn runmvn myapp:run?

4

3 に答える 3

18

私の他の答えとは完全に異なる別の解決策は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

このようにすることで、他のプラグインを変更することはなく、どのフェーズにもバインドされません。

于 2012-10-11T09:04:37.810 に答える
6

Hibernate3 Mavenプラグインサイトによると、hbm2java目標はgenerate-sourcesデフォルトでフェーズにバインドされます。

通常、プロジェクトをクリーンアップする必要はなく、インクリメンタルビルドを実行します。

とにかく、とを追加するmaven-clean-pluginと、すべてが1つのコマンドになりますhibernate3-maven-pluginpom.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
于 2012-10-10T13:06:28.170 に答える
5

Maven ビルドのデフォルトの目標を定義することもできます。次に、コマンドライン呼び出しは次のようになります

mvn

デフォルトの目標の定義

次の行を pom.xml に追加します。

<build>
    <defaultGoal>clean compile hibernate3:hbm2java</defaultGoal>
</build>
于 2018-09-05T01:39:29.197 に答える