Я считаю, что назначение «основного класса» означает, что конечный файл манифеста JAR будет помечать один класс как «класс для запуска»: так что конечный пользователь может просто дважды щелкнуть по нему * или запустить упрощенная командная строка, например:
java -jar <jar>
вместо указания полного имени пакета / класса, например:
java -cp <jar> com.yourcom.package.classname
Если я прав, то не понимаю, как было бы целесообразно иметь более одного основного класса?
Может быть, я неправильно понял ваш вопрос - или у «основного» класса есть другая цель?
Если вы имеете в виду наличие двух классов, у которых есть метод 'main' - тогда это нормально - конечный пользователь может запустить любой из классов по имени - и при условии, что у них есть стандартный метод main, например, sig:
public static void main(String[] args)
это должно просто сработать.
* (по крайней мере на Windows, и то, работает ли это, также зависит от того, какая у них JRE и, возможно, другие вещи)