Я следовал этой инструкции:
https://devcenter.heroku.com/articles/deploying-java
для развертывания веб-приложения java на heroku.
Содержимое моего Procfile выглядит следующим образом:
web: java $JAVA_OPTS -cp target/classes:target/dependency/* com.michael.optimizer.Optimizer
(Оптимизатор - это имя моего основного класса.)
Выполнение команды
mvn clean install
успешно создает проект.
Но затем выполнение команды
heroku local web
приводит к следующему сообщению об ошибке:
Exception in thread "main"
5:33:48 PM web.1 | java.lang.NoClassDefFoundError: javax/json/Json
5:33:48 PM web.1 | at com.michael.optimizer.api.JsonRequest.doJsonRequest(JsonRequest.java:29)
5:33:48 PM web.1 | at com.michael.optimizer.api.StationApi.doJsonRequest(StationApi.java:150)
5:33:48 PM web.1 | at com.michael.optimizer.api.StationApi.areaSearch(StationApi.java:73)
5:33:48 PM web.1 | at com.michael.optimizer.Optimizer.main(Optimizer.java:23)
5:33:48 PM web.1 | Caused by: java.lang.ClassNotFoundException: javax.json.Json
5:33:48 PM web.1 | at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
5:33:48 PM web.1 | at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
5:33:48 PM web.1 | at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
5:33:48 PM web.1 | at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
5:33:48 PM web.1 | ... 4 more
Что я не понимаю, так это: когда я запускаю приложение локально, все отлично работает (И неудивительно, что он работает нормально, потому что внутри папки ~ / .m2 / repository / javax / javaee-web-api / 7.0 / javaee-web-api-7.0.jar находится пакет json, где он должен быть. )
Только когда я пытаюсь развернуть на героку, класс javax. json. Json явно не найден.
Что не так ???