Я унаследовал веб-приложение 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