【发布时间】:2020-11-19 16:46:59
【问题描述】:
我正在尝试将一个小型企业(多模块)RESTEasy JAX-RS 应用程序移植到 Quarkus,但我遇到了以下错误。我无法控制对公司模块的许多依赖,但我尝试遵循 Quarkus 的上下文和依赖注入指南 (https://quarkus.io/guides/cdi-reference)。
操作系统:Ubuntu 18.04 (WSL)
Java:OpenJDK 11.0.8
命令:./mvnw clean install -DskipTests
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:1.9.2.Final:build (default) on project <REDACTED>: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: javax.enterprise.inject.spi.DeploymentException: Found 4 deployment problems:
...
[ERROR] [3] Unsatisfied dependency for type <REDACTED>.security.cryptography.CryptographyService and qualifiers [@Default]
[ERROR] - java member: <REDACTED>.request.handlers.ConfigurationFileDownloadHandler#cryptographyService
[ERROR] - declared on CLASS bean [types=[<REDACTED>.request.handlers.ConfigurationFileDownloadHandler, java.lang.Object], qualifiers=[@Default, @Any], target=<REDACTED>.request.handlers.ConfigurationFileDownloadHandler]
代码本身的DI:
...
import <REDACTED>.security.cryptography.CryptographyService;
...
@ApplicationScoped
public class ConfigurationFileDownloadHandler {
...
@Inject
private CryptographyService cryptographyService;
...
在子模块 pom 文件中声明了依赖项(从下面的mvn dependency:tree 可见):
[INFO] +- <REDACTED>.security.cryptography:cryptography-service-api-jar:jar:1.5.1:compile
我还在<sub-module/src/main/resources下创建了一个application.properties文件,内容如下:
quarkus.index-dependency.cryptography.group-id=<REDACTED>.security.cryptography
quarkus.index-dependency.cryptography.artifact-id=cryptography-service-api-jar
在``
我是否认为这些第三方公司类没有正确的注释以供 Quarkus CDI 流程发现?
任何帮助表示赞赏。
【问题讨论】: