Задать вопрос
Prototik
@Prototik

Maven, war и scope = provided не работает?

В общем, есть веб проект.
Собирается мавеном.
В war.
Использую пару библиотек, но мне надо их использовать с scope = provided, то-бишь не включать классы библиотеки в финальный war.
Проблема вот в чем: maven-war-plugin чхать хотел, что я там хочу.
Все равно включает библиотеки в war.
Если переключить проект в jar — все корректно, получается небольшой jar.
Кто знает, как этого упрямого ослика переубедить?

Я дико извиняюсь, сделал mvn clean, все ок.
Блин, ну вот он сам не мог это сделать?
  • Вопрос задан
  • 6380 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
serso
@serso
У вас где-то ошибка. Я только, что попробывал:
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

и
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <scope>provided</scope>
        </dependency>

для
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>


В первом случае получил jstl-1.2.jar в .war архиве, во втором — нет.
Может быть вы забыли вызвать mvn clean?
Или ваша библиотека входит в транзитивных зависимостях (хотя тогда, конечно, она должна и в jar входить)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы