fga*_*lan 0 java maven exec-maven-plugin
我有一个包含多个类的包(每个类都封装一个可执行程序,即使用 main() 方法),即:
com.myorg.examples.classA
com.myorg.examples.classB
etc.
Run Code Online (Sandbox Code Playgroud)
所有的类都属于同一个包 ( com.myorg.examples)。
我知道我可以使用Maven运行一个这样的类,例如:
mvn exec:java -D"exec.mainClass"="com.myorg.examples.classA"
Run Code Online (Sandbox Code Playgroud)
我也知道我可以配置 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>
Run Code Online (Sandbox Code Playgroud)
然后使用:
mvn exec:java
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有可能:
使用 exec-maven-plugin(或另一个)来配置多个执行并执行类似的操作
mvn exec:classA # or,
mvn exec:java classA
Run Code Online (Sandbox Code Playgroud)
因此运行 classA,但使用比普通 exec:java 更短的语法。查看 XML 结构,似乎只能设置一个类,所以我不确定如何实现。
要按顺序执行所有类,例如:
mvn exec-all
Run Code Online (Sandbox Code Playgroud)
为了运行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>
Run Code Online (Sandbox Code Playgroud)
因此,您现在可以通过以下方式调用 Maven:
以下将执行一个 where id: default-cli:
mvn exec:java
Run Code Online (Sandbox Code Playgroud)
以下将执行一个 where id: second-cli:
mvn exec:java@second-cli
Run Code Online (Sandbox Code Playgroud)
以下将执行一个 where id: thirds-cli:
mvn exec:java@third-cli
Run Code Online (Sandbox Code Playgroud)
问题是为什么你在不同的包中有几个主要类,但在一个 Maven 模块中,这听起来对我来说有不同的模块(因为你已经有了包)。另一个问题是为什么你需要通过 exec- 执行它们Maven插件?意图是什么?
| 归档时间: |
|
| 查看次数: |
2419 次 |
| 最近记录: |