为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Maven 运行多个类

使用 Maven 运行多个类

有只小跳蛙 2021-06-07 13:34:44
我有一个包含多个类的包(每个类都封装一个可执行程序,即使用 main() 方法),即:com.myorg.examples.classAcom.myorg.examples.classBetc.所有的类都属于同一个包 ( 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任何有关这些主题的帮助或链接都将受到高度欢迎。谢谢!
查看完整描述

2 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

您可以配置自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插件?意图是什么?


查看完整回答
反对 回复 2021-06-10
?
萧十郎

TA贡献1815条经验 获得超13个赞

只需在 pom.xml 的相关位置添加以下代码

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


查看完整回答
反对 回复 2021-06-10
  • 2 回答
  • 0 关注
  • 195 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信