簡體   English   中英

使用 Maven 運行多個類

[英]Run multiple classes using Maven

我有一個包含多個類的包(每個類都封裝一個可執行程序,即使用 main() 方法),即:

com.myorg.examples.classA
com.myorg.examples.classB
etc.

所有類都屬於同一個包 ( com.myorg.examples )。

我知道我可以使用Maven來運行這些類,如之一

mvn exec:java -D"exec.mainClass"="com.myorg.examples.classA"

我也知道我可以配置 exec-maven-plugin 以便使用較短的命令執行相同的操作,例如:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.2.1</version>
  <executions>
    <execution>
      <goals>
        <goal>java</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <mainClass>com.myorg.examples.classA</mainClass>
  </configuration>
</plugin>

然后使用:

mvn exec:java

但是,我想知道是否有可能:

  1. 使用 exec-maven-plugin(或另一個)來配置多個執行並執行類似的操作

    mvn exec:classA # or, mvn exec:java classA

    因此運行 classA,但使用比普通 exec:java 更短的語法。 查看 XML 結構,似乎只能設置一個類,所以我不確定如何實現。

  2. 要按順序執行所有類,例如:

     mvn exec-all

    為了運行classA,下一個classB,等等。

任何有關這些主題的幫助或鏈接都將受到高度歡迎。 謝謝!

編輯:問題的第二部分已被分拆到另一個帖子

您可以配置自Maven 版本 3.3.1起可用的多個執行

<project...>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.6.0</version>
        <executions>
          <execution>
            <id>default-cli</id>
            <configuration>
              <mainClass>com.soebes.test.First</mainClass>
            </configuration>
          </execution>
          <execution>
            <id>second-cli</id>
            <configuration>
              <mainClass>com.soebes.test.Second</mainClass>
            </configuration>
          </execution>
          <execution>
            <id>third-cli</id>
            <configuration>
              <mainClass>com.soebes.test.Third</mainClass>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins> 
  </build>
</project>

因此,您現在可以通過以下方式調用 Maven:

以下將執行一個 where id: default-cli

mvn exec:java

以下將執行 where id: second-cli

mvn exec:java@second-cli

以下將執行 where id: thirds-cli

mvn exec:java@third-cli

問題是為什么你在不同的包中有幾個主要類,但在一個 Maven 模塊中,這聽起來對我來說有不同的模塊(因為你已經有了包)。另一個問題是為什么你需要通過 exec- 執行它們Maven插件? 意圖是什么?

只需在 pom.xml 中相關位置添加以下代碼

UTF-8 com.springexamples.demo.MainClassOne com.springexamples.demo.MainClassTwo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM