Как мне заставить Heroku найти и загрузить мой основной файл Java

#java #heroku #discord #discord-jda

#java #heroku #Discord #discord-jda

Вопрос:

Когда я пытаюсь развернуть свою программу discord bot, ничего не происходит, и в журналах говорится об этом: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8

Error: Could not find or load main class src.main.java.Main.java

Мой Procfile находится в корне репозитория и содержит следующую строку кода: Worker: java src/main/java/Main.java

Я следил за руководством YouTube о том, как запустить моего собственного бота discord на Heroku, и я скопировал все идеально. Точно такой же проект выполняется без ошибок в IntelliJ. Как мне заставить Heroku найти и загрузить мою программу?

Ответ №1:

Вы пытаетесь запустить исходный файл Java ( .java расширение), а не скомпилированный файл класса. Вы также не указываете путь к классу, в котором Java должна искать классы.

Ваш Procfile должен иметь что-то вроде: worker: java -cp target/classes Main

Это будет искать Main класс, в target/classes котором Maven сохраняет скомпилированные файлы классов. Если вы используете другой инструмент сборки, каталог будет другим. Приведенная выше команда также не включает ваши зависимости в classpath.

Все еще предполагая, что вы используете Maven, вы можете использовать плагин зависимостей Maven, чтобы скопировать ваши зависимости в каталог и включить этот каталог в -cp аргумент в Procfile.

Комментарии:

1. Спасибо за совет. Как мне включить зависимости в мой путь к классу? Как это будет выглядеть?