[英]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
但是,我想知道是否有可能:
使用 exec-maven-plugin(或另一個)來配置多個執行並執行類似的操作
mvn exec:classA # or, mvn exec:java classA
因此運行 classA,但使用比普通 exec:java 更短的語法。 查看 XML 結構,似乎只能設置一個類,所以我不確定如何實現。
要按順序執行所有類,例如:
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.