【问题标题】:Java - Eclipse - How to force the application to run only one main?Java - Eclipse - 如何强制应用程序只运行一个主程序?
【发布时间】:2018-10-19 19:34:59
【问题描述】:

我在 Eclipse JavaEE 中有一个客户端应用程序(项目)。每当我选择运行项目时,都会出现多个主电源。

我的问题是:是否有任何方法可以强制项目在我运行项目时只调用一个特定的 main?

【问题讨论】:

  • 我不明白你的问题。我不知道你所说的“多电源”是什么意思
  • @TrippKinetics:任意数量的类都可以有一个main,Java 需要知道调用哪个类才能“运行项目”。问题是如何将其中一个设置为入口点,所以其他的基本上都被忽略了。
  • 如果你只想调用其中一个,为什么还要有多个主电源?
  • @Ironcache:有时是为了测试。 (你“运行”一个类来测试它,而不是进行单独的测试。)有时你有一堆要拼接在一起的子应用程序,入口点是一个菜单,让你决定运行哪个。跨度>
  • @cHao 不能真正使用其他会议进行测试,如果您“在项目运行时强制项目仅调用一个特定的 main”。

标签: java eclipse jakarta-ee main


【解决方案1】:

如果您是从 Eclipse 本身运行应用程序,那么您需要设置一个指向您想要的主类的运行配置。

创建运行配置的文档可以在这里找到:

http://help.eclipse.org/oxygen/topic/org.eclipse.jdt.doc.user/tasks/tasks-java-local-configuration.htm?cp=1_3_6_3

“主选项卡定义要启动的类。在项目字段中输入包含要启动的类的项目名称,在主类字段中输入主类的完全限定名称。检查如果您希望程序在调试模式下启动时在 main 方法中停止,则 Stop in main 复选框。 注意:您不必指定项目,但这样做允许选择默认的类路径、源查找路径和 JRE。"

如果您要将应用程序导出到 .jar 文件,那么您需要在清单文件中指定主类。可以在此处找到执行此操作的说明:

http://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftasks-35.htm

清单文件中的主类条目应如下所示:

Main-Class: classname

例如:

Main-Class: somepackage.SomeClass

【讨论】:

  • 您应该复制链接的相关部分(至少对于清单内容,而不仅仅是提供链接。这样,即使链接过期,SO 也会保留信息。
【解决方案2】:

您可以在运行配置中指定要运行的主类。 所以当你运行这个配置时,它只会启动这个 main。

【讨论】:

  • 有没有办法可以将主文件从桌面导出,这样用户只需单击即可运行应用程序?主要文件是GUI登录系统。
  • @Username00097 您需要将项目导出为 .jar,然后在清单文件中指定主类。
  • 甚至可以使用 Launch4J 或类似工具将其包装成可执行文件 (.exe)
【解决方案3】:

根据您对答案的反馈,您似乎希望创建一个可运行的 jar。

来自 Eclipse:

  • 右键项目
  • 运行方式
  • 运行配置
  • 新建,引用您的项目名称和主类。
    • 如果您已经定义了启动配置,则可以使用它而不是创建新配置。
  • 应用 + 关闭
  • 右键项目
  • 导出
  • Java > 可运行的 Jar
  • 选择您刚刚创建的运行配置,选择导出位置。

从这里开始,jar 将使用您提供的启动配置自动运行。从命令行运行它:

java -jar MyJar.jar [... command line args ...]

(如果你双击它,它也可能会做你想做的事,如果它是一个 GUI 应用程序)。

这将使用您在运行配置中定义的 main。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-12
    • 2015-03-06
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    相关资源
    最近更新 更多