如何通过mvn命令顺序执行2个Java类

我有2个Java类,它们具有共生关系。

Class 1生成一些输出文件,Class 2使用class 1的输出并validation它。 这两个类都从命令行获取输入。 这个项目是以maven为基础的。

鉴于这种共生性,我不确定如何“连接它们”?

我的想法是,编写另一个Java类,它接受命令行输入并调用2个类。 但是这里还有另一个不确定因素,我怎么能运行第1类(为了生成输出文件),所以我可以使用第2类来validation它。 也许是Junit @Before或者一些注释? 我真的不确定如何继续。 我希望我在这里有意义。

任何帮助或建议将不胜感激。

从JUnit方法中执行测试中的类的main()方法。

 public class Class2 { @Before public void produceOutputFiles() { Class1.main(new String[] { "these", "are", "commandline", "arguments"}); } @Test public void validateClass1Output() { //read in the files and validate the output } } 

通过Process.exec()调用Class1是一个有很多缺点的选项。 将测试代码和测试代码保持在同一JVM中要简单得多。