Я создаю приложение Heroku на основе Python, но мне нужно вызвать Java-класс в определенной точке кода Python, используя подпроцесс:
def execute_java(java_file, arg0, arg1):
java_class,ext = os.path.splitext(java_file)
cmd = ['java', java_class, arg0, arg1]
proc = subprocess.Popen(cmd, stdout=PIPE, stderr=STDOUT)
На моей локальной машине я могусделайте это без проблем, но в Heroku ошибка всегда одна и та же:
Ошибка: не удалось найти или загрузить основной класс ClassName
Мой procfile следующий: web: java -cp logic/classes/:logic/dependency/* ClassName
Поскольку класс java находится в папке с именем 'logic' проекта.
Полезная информация:
- Java
buildpack
уже установлен и находится в heroku / jvm - В классе java нет пакета, это просто файл .class с методом main и другим методом.