【问题标题】:JBAS015852: Could not index class module-info.class - Spring boot + Jboss 7.1.1JBAS015852:无法索引类 module-info.class - Spring boot + Jboss 7.1.1
【发布时间】:2020-08-26 08:35:10
【问题描述】:

我正在尝试在 Jboss 7.1.1 上部署一个简单的 Spring Boot 应用程序。 我已经做了相应的设置,但是不断出现错误: “JBAS015852:无法索引类 module-info.class”

我做了以下设置:

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(DemoApplication.class);
}

public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
}

@RestController
class Hellocontroller {
    @RequestMapping("/hello")
    @GetMapping
    String hello() {
        return "Hola";
    }
}

在 pom.xml 中

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

但我有以下结果

16:12:16,317 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015852: Could not index class org/hibernate/validator/spi/scripting/AbstractCachingScriptEvaluatorFactory.class at /C:/Users/User/Downloads/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final/standalone/deployments/demo.war/WEB-INF/lib/hibernate-validator-6.0.19.Final.jar: java.lang.IllegalStateException: Unknown tag! pos=4 poolCount = 71
at org.jboss.jandex.Indexer.processConstantPool(Indexer.java:606) [jandex-1.0.3.Final.jar:1.0.3.Final]
at org.jboss.jandex.Indexer.index(Indexer.java:640) [jandex-1.0.3.Final.jar:1.0.3.Final]
at org.jboss.as.server.deployment.annotation.ResourceRootIndexer.indexResourceRoot(ResourceRootIndexer.java:77) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.server.deployment.annotation.AnnotationIndexProcessor.deploy(AnnotationIndexProcessor.java:51) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_80]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_80]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_80]

我需要你的支持,谢谢。

【问题讨论】:

  • JBoss AS 7 不支持 Java 11。您需要升级到 WildFly
  • 您好,感谢您的回复。我正在用 Java 1.8 做这个项目 --> (pom.xml)
  • 如果是这种情况,那么您需要删除 module-info.class,因为这是 Java 9 构造。
  • 对不起,我是新手。你说的我该怎么做?
  • 看起来您正在打包一个新版本的 hibernate-validator,它不能与 JBoss AS 7 一起使用。您需要这个新版本还是可以使用服务器上的版本?

标签: spring-boot deployment jboss


【解决方案1】:

问题是由于依赖冲突,我可以使用以下 jboss-deployment-structure.xml 排除它

    <?xml version='1.0' encoding='UTF-8'?>
<jboss-deployment-structure
    xmlns="urn:jboss:deployment-structure:1.1">
    <deployment>
        <exclusions>
            <module name="com.fasterxml.jackson.core.jackson-annotations" />
            <module name="com.fasterxml.jackson.core.jackson-core" />
            <module name="com.fasterxml.jackson.core.jackson-databind" />
            <module
                name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson2-provider" />
            <module name="org.slf4j" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2018-08-16
    相关资源
    最近更新 更多