Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Exclusions para jstl-api e jstl-impl

Pessoal, podem explicar por que as exclusions para jstl-api e jstl-impl?

        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl-api</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>jstl-impl</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
3 respostas

Para ele não trazer uma versão errada da api de servlet...

solução!

Olá,

Veja a aba Dependency Tree em: https://javalibs.com/artifact/javax.servlet.jsp.jstl/jstl-api

Na minha opinião foi uma decisão de arquitetura errada, pois depende da versão 2.5 da servlet-api.

Ao fazer a exclusão, permite-lhe escolher outra versão da tecnologia Servlet como a versão 3.0 ou 3.1 que é mais utilizada atualmente pelos servidores de aplicações mais recentes.

Veja a mensagem: This artifact has been retired! New location is: javax.servlet:javax.servlet-api

E o novo artefato: https://javalibs.com/artifact/javax.servlet/javax.servlet-api

Por exemplo, os contêineres que o Spring Boot suporta: http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#_servlet_containers

O Wildfly 10.1 suporta Servlet 3.1: wildfly-10.1.0.Final\modules\system\layers\base\javax\servlet\api\main\jboss-servlet-api_3.1_spec-1.0.0.Final.jar

Olá,

Interessante a informação sobre a tecnologia Java Servlet: https://en.wikipedia.org/wiki/Java_servlet