Error: java.lang.NoClassDefFoundError: antlr/RecognitionException

Error: java.lang.NoClassDefFoundError: antlr/RecognitionException

我有 Spring 使用 JPA + MySQL + Thymeleaf 的引导项目,但日食显示错误。

在marven dependencies中找到antlr 2.7.7 jar库

我在 pom.xml 中的依赖项:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
    </dependency>
    <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>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

antlr 是 JPA 和 Hibernate 的依赖项,但控制台显示:

java.lang.ClassNotFoundException: antlr.RecognitionException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_111]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_111]
...

我创建了模型和存储库,但是当调用 findAll() 函数时,网络应用程序崩溃了。

在控制器中:

@Autowired
private CategoryRepository categoryRepository;
...
Iterable<CategoryModel> categories = categoryRepository.findAll();

在存储库中:

public interface CategoryRepository extends CrudRepository<CategoryModel, BigInteger>{

    List<CategoryModel> findById(BigInteger id);
}

会发生什么?

我的解决方案:本地存储库已损坏,从 Linux 删除文件夹 ~/.m2/ 并重新加载 eclipse。