我知道有很多像这样的类似问题,但我似乎无法找到Spring Boot 2的答案 . 我收到此错误:

Caused by: org.apache.jasper.JasperException: The absolute uri: [http://www.springframework.org/security/tags] 
cannot be resolved in either web.xml or the jar files deployed with this application

所以我查看了/ work目录并找到了jsp的java,并找到了这一行:

_jspx_dependants.put("/WEB-INF/lib/spring-security-taglibs-3.2.0.RELEASE.jar", Long.valueOf(1524843694000L));

现在我的pom在spring-security-taglibs-5.0.6.RELEASE.jar中有它,它位于/ lib目录中 .

我也在使用apache tiles 3.0.5 . 不知道那是不是真的 .

这是我的pom条目:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>        
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
        </exclusion>
    </exclusions>       
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-taglibs</artifactId>
</dependency>   

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-messaging</artifactId>
</dependency>   

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-websocket</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

<!--  Tiles -->
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-jsp</artifactId>
    <version>${apache.tiles.version}</version>
</dependency>

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-core</artifactId>
    <version>${apache.tiles.version}</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-api</artifactId>
    <version>${apache.tiles.version}</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-servlet</artifactId>
    <version>${apache.tiles.version}</version>
</dependency>

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-template</artifactId>
    <version>${apache.tiles.version}</version>
</dependency>

有关该版本如何进入jsp的java的任何想法?

UPDATE 我不再认为这是Spring Boot 2问题 . 我恢复启动1.5.15并且我得到了同样的错误 . 我甚至还回到了一个简单的 spring 项目(4.3.18.RELEASE和spring-security 4.2.7.RELEASE),我得到了同样的错误 . 但是,如果我一直恢复到spring security 3.2.0,它就可以工作了 .

我必须在某处发生依赖冲突,或旧的安全版本包含4.x不依赖的依赖项 .

我还发现也找不到常规 spring 标签 . IE:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>

抛出一个关于没有找到http://www.springframework.org/tags的错误,如果我切换"spring"和"sec"的顺序,我得到的错误是哪个标签lib是第一个 . 但是 - 我没有收到http://java.sun.com/jsp/jstl/core的错误,因此它不是一般的"loading taglib"错误 .