java 11和spring启动错误:这个类应该是模块信息

java 11和spring启动错误:这个类应该是模块信息,java,spring-boot,maven,java-11,java-module,Java,Spring Boot,Maven,Java 11,Java Module,我已经创建了一个简单的Spring引导应用程序,并且正在尝试将其移动到一个更新的jdk版本。我的计划是使用jlink并将其作为一个完整的包分发。但我得到了一个错误: 该类应为模块信息 当我试图用maven编译它时。如果我删除了模块信息,它就会工作(并按照预期生成自包含的jar)。我还缺什么吗 module-info.java: module operations { requires static lombok; requires commons.beanutils; requires ope

我已经创建了一个简单的Spring引导应用程序,并且正在尝试将其移动到一个更新的jdk版本。我的计划是使用jlink并将其作为一个完整的包分发。但我得到了一个错误:

该类应为模块信息

当我试图用maven编译它时。如果我删除了模块信息,它就会工作(并按照预期生成自包含的jar)。我还缺什么吗

module-info.java:

module operations {
requires static lombok;

requires commons.beanutils;
requires opencsv;
requires commons.net;
requires spring.data.mongodb;
requires spring.data.commons;
requires java.validation;
requires org.mongodb.bson;
requires spring.web;
requires spring.context;
requires spring.core;
requires spring.boot;

requires spring.beans;
requires org.apache.logging.log4j;
requires spring.context.support;
requires java.mail;
requires thymeleaf;
requires org.apache.commons.lang3;
requires com.fasterxml.jackson.core;
requires com.fasterxml.jackson.databind;
requires java.annotation;
requires org.apache.commons.collections4;
requires spring.boot.autoconfigure;
requires java.ws.rs;
requires spring.security.core;
requires spring.messaging;
requires spring.websocket;
requires java.management;
requires spring.security.web;
requires org.apache.tomcat.embed.core;
requires spring.security.config;
requires java.security.sasl;

exports com.testapp.operations;
}

项目结构:

src/main/java/
          ...module-info.java
          .../com/testapp/operations/(all classes)
pom.xml

问题似乎出在某些依赖项中,这些依赖项会阻止模块正确编译。在我的例子中,问题在于类路径上的
cglib
库(maven依赖项):


cglib
cglib
3.2.5
在我的例子中,解决方案是将库更新到最新版本3.3.0

    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>3.3.0</version>
    </dependency>

cglib
cglib
3.3.0
找到有问题的库的最佳方法是逐个注释掉依赖项,并在每次这样的操作之后运行构建。一旦代码正确编译,就会识别出有问题的库。尝试更新它,或者,如果没有可用的更新,则将其排除


如果不选择排除,可能的解决方案是使用库将代码提取到单独的模块中。这个新模块可以编译为自动模块(没有module info.java)。

您什么时候会看到这个错误?执行哪个命令?感谢您的回复,我在执行mvn clean Package时得到了它。有没有可能有人将常规类重命名为module-info.class?
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>3.3.0</version>
    </dependency>