当前位置: 首页 > 知识库问答 >
问题:

Spring Boot 2.0.4+Thymeleaf 3.0.9:无法初始化类HTMLTemplateParser

谢灵均
2023-03-14
  • MacOS High Sierra 10.13.6(最新版本)
  • Java 1.8(应兼容)
  • Spring Boot 2.0.4(与Maven一起导入)
  • Thymeleaf(用Maven导入)
  • 嵌入式Tomcat

我的问题是,当我尝试在嵌入式Tomcat webserver中运行我的演示应用程序时,我得到以下错误:

Whitelabel错误页面此应用程序没有/Error的显式映射,因此您将其视为一种后退。

检查控制台,这是异常StackTrace:

奇怪的是,如果我在发生这个错误后尝试发送另一个HTTP GET请求(=重新加载页面),我将得到一个不同的错误:

Whitelabel错误页面此应用程序没有/Error的显式映射,因此您将其视为一种后退。

第二个错误是“稳定的”,这意味着如果我在该错误发生后重新加载页面,同样的错误将再次发生。

webapp的代码几乎是从本教程中复制粘贴的,本教程使用了一个旧的Spring Boot版本(1.4.2)。

https://www.mkyong.com/spring-boot/spring-boot-hello-world-example-thymeleaf/

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

这是我的完整POM文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>Demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

有什么想法吗?

共有1个答案

申屠黎昕
2023-03-14

好吧,尽管看起来很奇怪,我已经自己解决了这个问题。显然,这是由于Eclipse和Maven下载和处理文件attoparser/2.0.4.release/attoparser-2.0.4.release.jar的方式造成的。很可能是被腐蚀了。

不过我不是很确定。

下面是我所遵循的解决问题的步骤。

我在网上发现也许attoparser jar文件在Maven缓存中被破坏了。因此,我尝试使用IntelliJ命令使所有缓存无效,并重新导入所有Maven依赖项。这并没有解决问题。

由于不知道该怎么做,我用sudo rm手动删除了attoparser.jar文件,并重新导入了所有依赖项。这一次成功了:webapp在Spring Boot2.0.0下工作顺利。

然后,我尝试在pom.xml中切换到较新的Spring Boot版本,再次重新导入依赖项。这次我没有问题。

 类似资料:
  • 当我在iReport 5.1.0中预览JasperReports的报告时,它执行得很好。它包含一个饼图,当我需要从jsp文件运行它时,问题就来了。 烧烤-1.5-beta1.jar commons-beanutils-1.8.2.jar Commons-Collections-3.2.1.jar commons-digester-2.1.jar commons-javaflow-20060411.

  • 问题内容: 是我自己的一类。该类与主类位于同一JAR文件中。因此,这不应该是因为classpath中缺少任何JAR。 当我通过查阅JAR文件时,可以看到其中列出的内容。 顺便说一句:代码在我的本地计算机上运行良好。但是当我将其与某些脚本一起部署到Linux服务器上时无法工作。所以我认为这不是代码的问题。但是出于某种原因。部署过程很难跟踪。 可能是什么问题呢? 问题答案: 我最好的选择是这里有一个问

  • 问题内容: 我是EJB的新手。我的经理告诉我在测试服务器中部署ejb应用程序进行一些修改。该应用程序已经在我们的生产服务器中运行。但是,当我部署应用程序时,我遇到了异常。 我们正在使用Glassfish应用服务器 堆栈异常跟踪: 当我重新启动服务器时,我得到了这些: 在这里您也可以看到相同的问题 任何人都可以 请 帮我,为什么这个错误即将到来。 这是非常需要的。 谢谢 问题答案: 问题解决了。 实

  • 问题内容: 我在此添加了web.xml的源代码 Hibernate.cfg.xml。我的Web服务项目与Jersey + Hibernate一起使用。 这是HibernateUtil类 这是我添加了Hibernate最新的jar文件的错误。[ hibernate-core-4.3.7.Final.jar ] 请帮我解决这个问题谢谢 问题答案: 初始化失败时可能会发生这种错误。您已经提到您正在使用。

  • 在Spring启动应用程序中使用jjwt在REST API中进行基于令牌的身份验证。它在我的本地环境中工作得很好,但是当我在Tomcat中部署war时,它会给出异常-无法初始化类io.jsonwebtoken.Signature的算法。Signature的算法类在jar中,但它的给出java.lang.NoClassDefFoundError错误。 努力在Tomcat中部署它并开始工作。需要帮助来

  • 我怎么才能修好这个? 谢了。 pom.xml 更新:通过使用较新版本的Hibernate修复了它。

  • 当我们从Oracle JDK-8迁移到Open JDK-11时,Apache POI excel生成存在问题 org.springframework.web.util.NestedServletException:处理程序调度失败;嵌套异常为java.lang.NoClassDeffounderRror:无法初始化类Sun.awt.X11FontManager(位于org.springframew