Когда вы запускаете его из командной строки, вы фактически вызываете Apache Ant . Причина, по которой вы получаете исключение ClassNotFound, заключается в том, что $ {javac.classpath} и все другие свойства не заполняются должным образом. Вот почему ваш код запускается из контекста Netbeans. Netbeans устанавливает эти свойства для вас.
Чтобы ответить на исходный вопрос о том, как заставить его работать из командной строки, вам нужно либо настроить файл свойств, который определяет эти параметры, через объявление свойства:
<property file="myproject.properties"/>
Другое решение состоит в том, чтобы установить свойства в качестве переменных среды с помощью скрипта sh. Или вы можете использовать реальные пути в скрипте сборки вместо свойств.
См. здесь для получения дополнительной информации о том, как вызывать Ant из командной строки.