0

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

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

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

4

3 回答 3

1

我能想到的选项:

  1. 使用命令行启动在类路径中传递 jar 的 main 方法。
  2. 让项目 A 引用项目 B 的配置,而不是其他方式。[我意识到你不想这样做,但觉得有必要把它列出来彻底)
  3. 在项目 B 中创建一个类,该类具有委托给项目 A 的 main 方法。
于 2012-06-29T20:16:02.500 回答
1

所以我得到了这个工作

Eclipse IDE for Java Developers 版本:Kepler Service Release 1 Build id:20130919-0819

@Michael Piefel - 如果 B 依赖于 A,那么 A 已经在 B 的“Maven Dependencies”类路径条目下的运行配置类路径中。

问题似乎是 ui 没有显示要从其搜索对话框中选择的类。

但是,如果您只是在“主类”文本字段中输入完全限定的类名并运行它仍然可以工作。:D

于 2014-03-18T17:31:51.220 回答
0

You really just need to tweak your Run Configurations accordingly. In the Classpath tab for the run configuration you use to run the class from project A, you can add project B as a dependency. Now while running that class, all the resources from project B are included.

于 2012-06-29T20:47:06.513 回答