Почему комментирование зависимости в pom.xml (с помощью m2eclipse) не удаляет jar в каталоге развертывания сервера tomcat? - PullRequest
1 голос
/ 05 января 2011

Я начал использовать Maven 2.2.1 и загрузил последнюю версию плагина m2eclipse 0.12.0.Я использую Eclipse 3.5.1 и Tomcat 6.0.26.
Я проверил проект mvc-ajax (в eclipse: Файл> Создать> Проект> SVN> Проект из SVN) и когда я запустилна сервере я наткнулся на следующее исключение:

org.apache.jasper.JasperException: невозможно прочитать файл TLD "META-INF / c.tld" из файла JAR ": / tomcatDeployDirectory / mvc-ajax / WEB-INF / lib / jstl-1.2.jar "

, что требовало удаления jsp-api2.1.jar (как я узнал из других постов).

Теперь я хотел просто прокомментировать зависимость для jsp-api2.1.jar в pom.xml, и я сделал это, и jsp-api2.1.jar исчез из зависимостей Maven,Но как только я снова запустил сервер, я увидел то же исключение.Я проверил каталог развертывания сервера tomcat и снова вижу тот же jsp-api2.1.jar!Я создал новый сервер, но там вижу банку.
Это проблема с m2eclipse?Есть ли у меня конфликт между версиями eclipse maven и m2eclipse?Или я должен установить что-то дополнительно?

Удаление jsp-api2.1.jar из каталога развертывания сервера сделало свою работу, но нужно ли мне всегда делать это вручную?

С уважением,
Деспот

Ответы [ 2 ]

2 голосов
/ 05 января 2011

Вам следует позвонить mvn clean, чтобы ваш target директор был очищен.

С m2eclipse вы делаете это из диалога. Right click the pom file > Run As > Maven Clean

Кстати, для зависимости jsp-api вы можете установить s <provided>

1 голос
/ 05 января 2011

У меня такое случалось со мной много раз.Как правило, это потому, что рассматриваемый JAR является транзитивной зависимостью чего-то еще (или нескольких элементов).

Используйте представление «Иерархия зависимостей» в редакторе POM Eclipse M2Eclipse и найдите JAR-файл справа ... затем щелкните по нему.С левой стороны вы увидите все пути зависимости, которые привели к тому, что этот JAR был там.Вам придется удалить их все, либо закомментировав их, либо добавив раздел «исключить».

Как только это будет сделано, вам придется перезапустить Eclipse .Извините, но я еще никогда не видел, чтобы Eclipse динамически удаляла JAR без перезапуска.Возможно, совет Божо по поводу очистки мог бы сработать, но я все равно перезапустил бы.

После перезапуска зайдите в проводник проекта и откройте библиотеку "Maven Dependencies" и найдите JAR.Если это так, вернитесь и продолжайте пытаться устранить JAR, как я упоминал выше.Если он пропал из библиотеки Maven Dependencies, то вам стоит пойти.

Если она отсутствует в библиотеке зависимостей Maven для конкретного проекта и все еще находится в каталоге развертывания, то у вас есть честь сообщить об ошибке в M2Eclipse!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...