3

Maven プロジェクトがあり、src フォルダーのパッケージの 1 つに 2 つのメイン (MyTestApp_A と MyTestApp_B) があります。

これらの「メイン」クラスを開いて実行ボタンをクリックすると、これらの「メイン」クラスを Eclipse で実行できます。ただし、Eclipse にはバグがあるため、実際にはこれら 2 つのクラスを Maven を使用してコマンド ラインで実行する必要があります。

これまで Maven を使用したことはありませんが、助けを求めて調査を行った結果、pom.xml ファイルを変更する必要があることがわかりました。

その結果、次のコマンドを使用してアプリのいずれかを実行するように pom.xml ファイルを正常に変更しましたmvn exec:java -Dexec.mainClass="servers.MyTestApp_B"

    <plugins>
        <!-- Allows the example to be run via 'mvn compile exec:java' -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>

            <configuration>
                <mainClass>servers.MyTestApp_A</mainClass>
                <includePluginDependencies>false</includePluginDependencies>
            </configuration>


        </plugin>

    </plugins>

MyTestApp_A を実行できることに満足して、別の構成部分を追加して MyTestApp_B を実行しようとしました。

    <plugins>
        <!-- Allows the example to be run via 'mvn compile exec:java' -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>

            <configuration>
                <mainClass>servers.MyTestApp_A</mainClass>
                <includePluginDependencies>false</includePluginDependencies>
            </configuration>
            <configuration>
                <mainClass>servers.MyTestApp_B</mainClass>
                <includePluginDependencies>false</includePluginDependencies>
            </configuration>

        </plugin>

    </plugins>

ただし、このファイルは整形式ではありません。どうやら<configuration>、同じ pom.xml ファイルに 2 つのタグを含めることは許可されていません。

では、Maven を使用して MyTestApp_A と MyTestApp_B を実行するにはどうすればよいでしょうか? pom.xml ファイルを構成するにはどうすればよいですか?

4

1 に答える 1

6

実行したいメインクラスごとに実行を試してください:

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
            <execution>
                <id>MyTestApp_A</id>
                <goals>
                    <goal>java</goal>
                </goals>
                <configuration>
                    <mainClass>servers.MyTestApp_A</mainClass>
                    <includePluginDependencies>false</includePluginDependencies>
                </configuration>
            </execution>
            <execution>
                <id>MyTestApp_B</id>
                <goals>
                    <goal>java</goal>
                </goals>
                <configuration>
                    <mainClass>servers.MyTestApp_B</mainClass>
                    <includePluginDependencies>false</includePluginDependencies>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>
于 2013-11-09T20:46:33.220 に答える