Как установить основной класс по умолчанию в java?
У меня есть 2 класса в одном пакете. Оба класса имеют в них основной метод. Теперь я хочу создать файл jar. Я хочу создать 2 файла jar, которые используют основные функции по умолчанию.
eg
class A
{
public static void main(String args[])
{
//do something
}
}
class B
{
public static void main(String args[])
{
//do something
}
}
Как это сделать в среде IDE NetBeans?
Я нашел ответ.
U может легко сделать это в netbeans:
1) щелкните правой кнопкой мыши по проекту > properties > run > выберите класс frm и выпадающий список. Так просто в netbeans. Скалы Netbeans!
Ответы
Ответ 1
В файле jar вы можете просто добавить это в свой манифест .mt
Main-Class : A
Тогда файл jar будет исполняемым и вызовет правильный main.
О том, как это сделать в Netbeans, вы можете посмотреть на это:
Создание исполняемого банку в NetBeans
Ответ 2
Щелкните правой кнопкой мыши проект node в окне "Проекты" и выберите "Свойства проекта".
затем найдите run, там вы можете настроить свой основной класс, ** действительно получил его от помощи по умолчанию netbeans
Ответ 3
вы можете щелкнуть правой кнопкой мыши по проекту, выберите "установить конфигурацию", затем "Настроить", оттуда вы можете выбрать свой основной класс.
![ScreenShot]()
Ответ 4
Предполагая, что ваш my.jar имеет класс1 и класс2 с основным, определенным в каждом, вы можете просто вызвать java следующим образом:
java my.jar class1
java my.jar class2
Если вам нужно указать другие параметры java, убедитесь, что они находятся перед my.jar
java -classpath my.jar class1
Ответ 5
Если вы создаете 2 исполняемых файла JAR, у каждого будет свой файл манифеста, и каждый файл манифеста будет указывать класс, содержащий метод main()
, который вы хотите использовать для запуска.
В каждом JAR файле манифест будет файлом со следующим именем/именем внутри JAR-
META-INF/MANIFEST.MF
Есть способы указать альтернативные именованные файлы как манифест JAR с помощью параметров командной строки JAR.
Конкретный класс, который вы хотите использовать, указан с помощью Main-Class: package.classname внутри файла META-INF/MANIFEST.MF.
Что касается того, как это сделать в Netbeans - не уверен в моей голове - я обычно использую IntelliJ и/или Eclipse и обычно создаю JAR через ANT или Maven в любом случае.
Ответ 6
Если две банки, которые вы хотите создать, являются в основном одинаковыми, и единственное различие заключается в том, что основной класс должен начинаться с каждого, вы можете поместить все классы в третью банку. Затем создайте две банки с только манифестом в каждом. В файле MANIFEST.MF назовите класс записи, используя атрибут Main-Class
.
Кроме того, укажите атрибут Class-Path
. Значение этого должно быть именем файла jar, который содержит весь общий код. Затем разверните все три файла jar в том же каталоге. Конечно, если у вас есть сторонние библиотеки, они также могут быть указаны в атрибуте Class-Path.
Ответ 7
Вы можете установить атрибут Main-Class в манифесте файла jar, чтобы указать, какой файл вы хотите запустить автоматически.
Ответ 8
Лучший способ - справиться с этим в Ant script. Вы можете создать 2 разных задания для двух файлов jar. Укажите класс A в качестве основного класса в файле manifestst для первой банки. аналогично укажите класс B как основной класс в файле манифеста для второй банки.
вы можете легко запускать задачи Ant из Netbeans.
Ответ 9
В качестве комментария мне пришлось разрешить клиенту выполнять класс в банке, что означало, что файл манифеста не может быть изменен (их нельзя было ожидать). Благодаря сообщению Anthony и samy-delux, это то, что клиент может теперь запустить для доступа к основному классу:
java -cp c:\path\to\jar\jarFile.jar com.utils.classpath -e -v textString
Ответ 10
Нажмите F11 для сборки и запустите программу. После запуска программы у вас будет список классов. Выберите свой основной класс из списка и нажмите "ОК" для запуска.
Ответ 11
В Netbeans 11 (Gladle Project) выполните следующие действия:
На вкладке files>yourprojectname>
дважды щелкните файл "build.gladle"
, чем указано в строке "mainClassName:'yourpackagepath.YourMainClass'"
Надеюсь это поможет!