如何在java中设置默认主类?

IT小君   2021-12-26T03:50:45

我在同一个包中有 2 个类。这两个类中都有 main 方法。现在我想构建一个 jar 文件。我想构建 2 个使用不同主要功能作为默认主要功能的 jar 文件。

例如

class A
{
  public static void main(String args[])
  {
    //do something
  }
}

class B
{
  public static void main(String args[])
  {
    //do something
  }
}

如何在 NetBeans IDE 中执行此操作?

我找到了答案。您可以在 netbeans 中轻松完成:1) 右键单击​​项目 > 属性 > 运行 > 选择类 frm 并下拉列表。在netbeans中如此简单。网豆摇滚!

评论(11)
IT小君

右键单击“项目”窗口中的项目节点,然后选择“项目属性”。 然后找到运行,在那里你可以设置你的主类,**实际上是从 netbeans 默认帮助中得到的

2021-12-26T03:50:46   回复
IT小君

在 jar 文件中,您可以将其添加到 manifest.mft

Main-Class : A

然后 jar 文件将是可执行的,并会调用正确的 main.jar 文件。

关于如何在 Netbeans 中执行此操作,您可以查看: 在 NetBeans 中生成可执行 jar

2021-12-26T03:50:46   回复
IT小君

您可以右键单击项目选择“设置配置”,然后选择“自定义”,从那里您可以选择您的主类。 截屏

2021-12-26T03:50:46   回复
IT小君

如果您要创建 2 个可执行 JAR 文件,每个文件都有自己的清单文件,每个清单文件将指定包含main()要用于开始执行方法的类

在每个 JAR 文件中,清单将是 JAR 中具有以下路径/名称的文件 - META-INF/MANIFEST.MF

有多种方法可以使用JAR 命令行参数将替代命名的文件指定为 JAR 的清单

您要使用的特定类是使用META-INF/MANIFEST.MF 文件中的Main-Class: package.classname指定的

至于如何在 Netbeans 中执行此操作 - 我不确定 - 我通常使用 IntelliJ 和/或 Eclipse,并且通常通过 ANT 或 Maven 构建 JAR。

2021-12-26T03:50:46   回复
IT小君

假设你的 my.jar 有一个 class1 和 class2,每个都定义了一个 main,你可以像这样调用 java:

java my.jar class1

java my.jar class2

如果您需要为 java 指定其他选项,请确保它们在 my.jar 之前

java -classpath my.jar class1
2021-12-26T03:50:46   回复
IT小君

作为评论,我必须允许客户在 jar 中执行一个类,这意味着无法修改清单文件(不能期望他们这样做)。感谢 Anthony 的帖子和 samy-delux 的评论,这是客户现在可以运行以访问特定类的主要内容:

java -cp c:\path\to\jar\jarFile.jar com.utils.classpath -e -v textString
2021-12-26T03:50:47   回复
IT小君

您可以在 jar 文件的清单中设置 Main-Class 属性以指向要自动运行的文件。

2021-12-26T03:50:47   回复
IT小君

如果您要创建的两个 jar 大部分相同,唯一的区别是应该从每个 jar 启动的主类,您可以将所有类放在第三个 jar 中。然后创建两个 jar,每个 jar 中只有一个清单。在 MANIFEST.MF 文件中,使用Main-Class属性命名条目类

此外,指定Class-Path属性。这个值应该是包含所有共享代码的 jar 文件的名称。然后将所有三个 jar 文件部署在同一目录中。当然,如果您有第三方库,也可以在 Class-Path 属性中列出这些库。

2021-12-26T03:50:47   回复
IT小君

在 Netbeans 11(Gladle 项目)中,请遵循以下步骤:

在选项卡中files>yourprojectname>双击文件而"build.gladle"不是在行中设置"mainClassName:'yourpackagepath.YourMainClass'"

希望这可以帮助!

2021-12-26T03:50:47   回复
IT小君

最好的方法是在 Ant 脚本中处理这个问题。您可以为 2 个 jar 文件创建 2 个不同的任务。将类 A 指定为第一个 jar 的清单文件中的主类。类似地,将 B 类指定为第二个 jar 的清单文件中的主类。

您可以轻松地从 Netbeans 运行 Ant 任务。

2021-12-26T03:50:48   回复
IT小君

按 F11 生成并运行程序。运行程序后,您将获得一个类列表。从列表中选择您的主类,然后单击确定运行。

2021-12-26T03:50:48   回复