我在同一个包中有2个类。这两个类都有主要方法。现在我想构建一个jar文件。我想构建两个使用不同主要功能作为默认主要文件的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如此简单。 Netbeans摇滚!
答案 0 :(得分:19)
在jar文件中,您可以将其添加到manifest.mft
Main-Class : A
然后jar文件可执行,并调用正确的main。
关于如何在Netbeans中执行此操作,您可以查看以下内容: Producing executable jar in NetBeans
答案 1 :(得分:19)
在“项目”窗口中右键单击项目节点,然后选择“项目属性”。 然后找到运行,在那里你可以设置你的主类,**实际上从netbeans默认帮助
获得它答案 2 :(得分:10)
您可以右键单击项目选择“设置配置”然后选择“自定义”,从那里您可以选择您的主类。
答案 3 :(得分:5)
假设你的my.jar有一个class1和class2,每个都有一个main定义,你可以像这样调用java:
java my.jar class1
java my.jar class2
如果您需要为java指定其他选项,请确保它们位于my.jar
之前java -classpath my.jar class1
答案 4 :(得分:3)
如果您要创建2个可执行JAR文件,每个文件都有自己的清单文件,每个清单文件都会指定包含您要用来开始执行的main()
方法的类。
在每个JAR文件中,清单将是JAR中具有以下路径/名称的文件 - META-INF/MANIFEST.MF
有些方法可以使用JAR command-line parameters将备用命名文件指定为JAR的清单。
您要使用的特定类是使用META-INF / MANIFEST.MF文件中的Main-Class: package.classname指定的。
至于如何在Netbeans中做到这一点 - 不确定我的头脑 - 我通常使用IntelliJ和/或Eclipse,并且通常通过ANT或Maven构建JAR。
答案 5 :(得分:1)
如果您要创建的两个罐子大致相同,唯一的区别是应该从每个罐子开始的主要类别,您可以将所有类别放在第三个罐子中。然后创建两个罐子,每个罐子里只有一个清单。在MANIFEST.MF文件中,使用Main-Class
属性命名条目类。
此外,请指定Class-Path
属性。它的值应该是包含所有共享代码的jar文件的名称。然后将所有三个jar文件部署在同一目录中。当然,如果您有第三方库,那么它们也可以列在Class-Path属性中。
答案 6 :(得分:0)
您可以在jar文件的清单中设置Main-Class属性,以指向您想要自动运行的文件。
答案 7 :(得分:0)
最好的办法是在Ant脚本中处理这个问题。您可以为2个jar文件创建2个不同的任务。将类A指定为第一个jar的manifst文件中的主类。类似地将类B指定为第二个jar的清单文件中的主类。
您可以轻松地从Netbeans运行Ant任务。
答案 8 :(得分:0)
作为评论,我不得不允许客户在jar中执行一个类,这意味着无法修改清单文件(他们不能期望这样做)。感谢Anthony和samy-delux的评论,这就是客户现在可以运行以访问特定类的主要内容:
java -cp c:\path\to\jar\jarFile.jar com.utils.classpath -e -v textString
答案 9 :(得分:0)
按F11构建并运行程序。运行程序后,您将获得一个类列表。从列表中选择您的主类,然后单击“确定”以运行。
答案 10 :(得分:0)
在Netbeans 11(Gladle项目)中,请执行以下步骤:
在标签files>yourprojectname>
中,双击文件"build.gladle"
,而不是在行"mainClassName:'yourpackagepath.YourMainClass'"
中设置
希望这会有所帮助!