抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

在项目开发过程中,我们经常会抽离出一些公共代码单独维护,其中就有可能包含注入的bean、拦截器、过滤器等等,但是当我们抽离出去之后发现,他们都不生效了,因为Quarkus默认只扫描主模块包,本文将通过三种方式为外部模块创建索引。

一、添加一个空的 bean.xml 文件

添加一个空的 beans.xml 在资源目录下,例如src/main/resources/META-INF/beans.xml
Quarkus将会为该模块编制索引。

二、通过Jandex

1.Maven项目

只需要在外部模块的 pom.xml 中添加以下内容:

<build>
  <plugins>
    <plugin>
      <groupId>org.jboss.jandex</groupId>
      <artifactId>jandex-maven-plugin</artifactId>
      <version>1.2.3</version>
      <executions>
        <execution>
          <id>make-index</id>
          <goals>
            <goal>jandex</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

2.Gradle项目

通过第三方 jandex-gradle-plugin 插件实现

plugins {
    id 'org.kordamp.gradle.jandex' version '0.13.2'
}

三、通过 application.properties

某些第三方依赖项我们无法修改其代码,则可以通过 application.properties 添加一个条目来索引它:

quarkus.index-dependency.<name>.group-id=
quarkus.index-dependency.<name>.artifact-id=
quarkus.index-dependency.<name>.classifier=(this one is optional)

name作为一个名称,你选择来标识你的依赖关系。

评论