抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

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

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

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

二、通过Jandex

1.Maven项目

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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 插件实现

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

三、通过 application.properties

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

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

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

评论