>Java >java지도 시간 >Quarkus의 외부 모듈 클래스에 대한 Jandex 인덱싱 문제를 해결하는 방법은 무엇입니까?

Quarkus의 외부 모듈 클래스에 대한 Jandex 인덱싱 문제를 해결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-13 04:35:02976검색

How to Resolve Jandex Indexing Issues for External Module Classes in Quarkus?

Quarkus의 외부 모듈 클래스를 위한 Jandex 인덱싱

배경

다중 모듈에서 Maven 프로젝트 구조, 한 모듈의 JAX-RS 엔드포인트가 클래스에 의존하는 것이 일반적입니다. 외부 모듈에 정의되어 있습니다. 그러나 Quarkus는 반영을 위해 이러한 클래스를 인덱싱할 수 없음을 나타내는 경고를 발행할 수 있습니다.

해결책

이 문제를 해결하고 적절한 인덱싱을 보장하려면:

옵션 1: Jandex Maven 플러그인

  • 색인할 클래스가 포함된 모듈의 pom.xml에 Jandex Maven 플러그인을 추가합니다.
  • 이것은 필요한 것을 생성하는 목표를 실행합니다. Jandex 색인

          <plugin>
            <groupId>io.smallrye</groupId>
            <artifactId>jandex-maven-plugin</artifactId>
            <version>3.1.2</version>
            <executions>
              <execution>
                <id>make-index</id>
                <goals>
                  <goal>jandex</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

    옵션 2: Jandex Gradle 플러그인 (Gradle 전용)

  • 색인을 생성하려면 타사 Jandex Gradle 플러그인을 활용하세요.
  • GitHub 저장소 지침에 따라 Gradle 스크립트에서 플러그인을 구성하세요.

옵션 3: 비어 있음 META-INF/beans.xml

  • 외부 모듈의 src/main/resources 디렉터리에 빈 META-INF/beans.xml 파일을 생성합니다.
  • Quarkus 모듈의 클래스를 자동으로 색인화합니다.

옵션 4: Quarkus 애플리케이션 속성

  • 수정할 수 없는 외부 종속성의 경우 application.properties 파일에 항목을 추가하여 수동으로 색인화할 수 있습니다.

    quarkus.index-dependency.<name>.group-id=
    quarkus.index-dependency.<name>.artifact-id=
    quarkus.index-dependency.<name>.classifier=(optional)
  • 바꾸기 종속성에 대해 선택한 식별자를 사용합니다.

이러한 옵션을 구현하면 필요한 클래스가 제대로 인덱싱되고 리플렉션이 성공적으로 작동하도록 할 수 있습니다.

위 내용은 Quarkus의 외부 모듈 클래스에 대한 Jandex 인덱싱 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.