如何在不同的Maven项目中运行Eclipse中的主类?

时间:2012-06-29 18:45:04

标签: java eclipse maven m2e

所以我说两个项目,项目A和项目B.项目A包含一个我想要运行的主类。项目B包含一些必需的类路径资源,并且还引用了项目A.如果我直接在项目A中运行主类,它将仅在该项目的上下文中运行它,并且不包括类路径资源,因为它们在项目B中。

但是如果我尝试运行Project B,我就无法选择主类(因为它在该项目中不存在),如果我尝试右键单击该项目 - >运行方式 - > Java Application,它没有提出那个主类作为有效的主类。 (它确实出现在项目A的类似对话框中。)

这似乎是Eclipse的常见问题;我发现了这个相关的问题,但这个人没有使用Maven。此外,他们接受了一个从项目A引用项目B的答案,这打破了我试图在这里实现的封装: Eclipse 3,6 (Helios) referenced project has main method, cannot access from run config when targeting referencing project

3 个答案:

答案 0 :(得分:0)

我能想到的选项:

  1. 使用命令行启动在类路径中传递jar的主方法。
  2. 让项目A参考项目B的配置而不是其他方式。 [我意识到你不想这样做,但觉得有必要把它列为彻底的)
  3. 在项目B中创建一个具有委托给项目A的主方法的类。

答案 1 :(得分:0)

您只需要相应地调整运行配置。在用于从项目A运行类的运行配置的 Classpath 选项卡中,可以将项目B添加为依赖项。现在,在运行该类时,包含项目B中的所有资源。

答案 2 :(得分:0)

所以我开始研究

适用于Java开发人员的Eclipse IDE 版本:开普勒服务版本1 建造ID:20130919-0819

@Michael Piefel - 如果B依赖于A,那么A已经在B'运行配置类路径下的" Maven Dependencies" classpath entry。

问题似乎是ui没有提供从搜索对话框中选择的课程。

但是如果你只是在" Main class"中输入完全限定的类名。文本字段并运行它仍然有效。 :d