При запуске из Eclipse (который управляет classpath для вас) или из командной строки (где, я полагаю, вы указываете classpath при запуске), вы включаете Jython.jar в classpath.
К сожалению, включая другие банки внутри вашей банки недостаточно для размещения этой банки на пути к классам. Вы можете извлечь весь Jython.jar и включить извлеченные файлы в ваш jar (более поздние версии Eclipse делают это при экспорте с опцией Runnable JAR File .
Однако это может привести к проблемам, если код Jython ожидал, что он будет в JAR, если были конфликты пространства имен или юридические проблемы (во многих случаях незаконно извлекать сторонний jar-файл и распространять его как свой собственный).
Чтобы подтвердить это, попробуйте запустить jar вне Eclipse, включая jython.jar в classpath. Например:
java -cp lib/jython.jar:myjar.jar com.me.main.Main
Имейте в виду, что если вы используете опцию -jar (например, атрибут основного класса), флаг -cp игнорируется, поэтому это не будет работать, если вы сделаете:
java -cp lib/jython.jar -jar myjar.jar
Если это проблема, то есть несколько способов автоматически включить jython.jar в classpath. Два популярных подхода - использовать атрибут classpath в манифесте (работает до тех пор, пока вы можете гарантировать местоположение jython.jar относительно вашего основного jar-файла) или обернуть выполнение вашего jar-файла в скрипт оболочки.