Как отладить проблемы с развертыванием на Tomcat из Eclipse? - PullRequest
0 голосов
/ 02 июня 2018

Я унаследовал веб-приложение Spring.Это простой веб-проект, который я импортировал в Eclipse.Мы используем Eclipse 4.7.3, Tomcat 7.0.47 и JDK 1.8.0.151.

Проблема заключается в том, что при развертывании проекта в Tomcat из Eclipse некоторые jar-файлы зависимостей не копируются в проекткаталог lib.Когда TC пытается запустить веб-приложение, возникают ошибки ClassNotFoundException.

Я новичок в веб-приложениях на Java, поэтому мне нужны несколько советов по проверке импорта / сборки / развертывания моего проекта.

Вот что я сделал до сих пор:

  • Установите Tomcat 7.0.47 (не запускайте его после установки) Установите Eclipse 4.7.3 JavaEE-версию (которая поставляется с установленной интеграцией Buildship Gradle 2.0))
  • Импортировать мой проект как проект Gradle (Файл -> Импорт -> Gradle -> Существующий проект Gradle).Я указываю на корневой каталог проекта, выбираю веб-проект для развертывания и использую настройки по умолчанию.
  • Добавить сервер в проект (в представлении «Сервер» нажмите кнопку «Добавить» -> выберите
    Tomcat 7.0 -> укажите наКорень TC)
  • Щелкните правой кнопкой мыши веб-цель и выберите «Запуск от имени» -> «Запуск от имени сервера» и выберите добавленный мной сервер TC 7.

На этом этапе проект создается и развертывается.Консоль показывает журнал TC.TC запускается, но выдает ошибку при попытке запустить веб-приложение (например):

Причина: java.lang.ClassNotFoundException: org.apache.log4j.Level

Я мог бы копировать банки, но у меня сложилось впечатление, что Gradle должен захватывать банки зависимостей во время развертывания.Я могу убедиться, что некоторые из них скопированы, а другие отсутствуют.Как мне устранить эту проблему?

Вот часть моего файла build.gradle

buildscript {
  repositories {
    maven {
      url projectDownloadUrl 
    }
  }
  dependencies {
    classpath lib_license_gradle_plugin
  }
}

Веб-приложение развернуто в ... eclipse-workspace.metadata.plugins \ org.eclipse.wst.server.core \ tmp0.Здесь каталог lib содержит некоторые из развернутых jar-файлов зависимостей.Файл gradle.properties содержит список зависимостей, например

lib_apache_tomee = org.apache.openejb: apache-tomee: 1.7.1

1 Ответ

0 голосов
/ 13 июня 2019

Это явно не то место, где можно задавать вопросы Gradle / Tomcat и отвечать на них.Я понял проблему вскоре после публикации, и не хотел разочаровывать 40 человек, которые пришли сюда за помощью, подумал, что должен наконец ответить на свой вопрос.

Во-первых, я был на правильном путио том, как отладить развертывание приложения gradle / maven в Eclipse.После его развертывания вы можете проверить, какие файлы находятся в каталоге развертывания.Eclipse развертывается локально в месте, похожем на c: \ users \\ eclipse-workspace.metadata.plugins \ org.eclipse.wst.server.core.

Во-вторых, непосредственная проблема, с которой я столкнулся, была связана с использованиемTomcat вместо Tomcat EE.Ответ на этот вопрос был правильным в вопросе:

lib_apache_tomee = org.apache.openejb: apache-tomee: 1.7.1

Том - Tomcat + Java Enterprise Edition, который включает в себя некоторые дополнительные журналы и другие банки, которые я пропустил.

...