развернуть приложение Java на Heroku launch.main ошибка - PullRequest
1 голос
/ 19 января 2012

Я хочу развернуть Java-приложение на HEROKU . Я новичок в Maven. Я все настроил в соответствии с развертыванием примера приложения к документации heroku (java + maven + tomcat7). и я сделал хулиган, это было успешно. Но как только я набрал sh / target / bin / weapps, я получаю следующую ошибку. Кто-нибудь может мне помочь разобраться в этом вопросе.

Exception in thread "main" java.lang.NoClassDefFoundError: launch/Main  
Caused by: java.lang.ClassNotFoundException: launch.Main</br>
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 Could not find the main class: launch.Main.  Program will exit.

С уважением, arunbv

Ответы [ 4 ]

8 голосов
/ 01 мая 2013

У меня была похожая проблема, я (ну, почти) решил ее таким образом, просто удалите:

<packaging>war</packaging>

из pom.xml . Я знаю, что это не идеальное решение, но каким-то образом встроенный плагин tomcat не работает с упаковкой военных файлов

1 голос
/ 19 января 2012

У меня недостаточно очков, чтобы комментировать, но какую статью вы читаете? Вы можете связать это?

Исходя из ошибки, я подозреваю, что ваш Main.java не находится в src / main / java / launch. Если вы будете следовать этим инструкциям, я думаю, вы сможете исправить ошибку:
http://devcenter.heroku.com/articles/create-a-java-web-application-using-embedded-tomcat

Если вы читаете эту статью и у вас все еще есть проблемы, это может облегчить возникшие проблемы, если вы просто клонируете образец репо:

git clone git://github.com/heroku/devcenter-embedded-tomcat.git
0 голосов
/ 14 апреля 2014

Возможно, он мертв, но в случае, если он поможет людям в будущем.

Я начал работать с Java-приложением на Heroku , используя Ubuntu машина для разработки - и получил то же самое Исключение в потоке "main" java.lang.NoClassDefFoundError .

Двойная проверка того, что вы используете одну и ту же версию компилятора Java как ваша Java SDK версия .

тип java -version & javac -version.Убедитесь, что они имеют одинаковую версию.

Если нет, то это можно исправить, перенастроив свою среду для использования одного и того же для обоих.Предполагая, что вы скачали и установили версию Java, которую хотите использовать, введите:

`sudo update-alternatives --config java`

Вы получите красивое меню с параметрами

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/jdk1.7.0/bin/java                   1   

Выберите версию, которую вы хотите использовать,Готово.Теперь попробуйте построить.

0 голосов
/ 07 октября 2013

Поскольку вы сказали, что вы новичок в maven, я думаю, что причина этой ошибки в том, что вы просто помещаете свой * .java-код в корневую папку проекта, в то время как вы, скорее всего, будете помещать его в ./src/main / java /

Это должно работать для вас.Я испытал ту же проблему и понял это.

...