digital-garden/knowledge/dev/Мультимодульные проекты c Jandex.md

2.0 KiB
Raw Permalink Blame History

aliases tags date zero-link parents linked
jandex
зрелость/🌱
2023-10-21
../../garden/ru/meta/zero/00 Разработка
Quarkus
Gradle

Столкнулся с такой проблемой при использовании Quarkus. Gradle проект, который состоит из нескольких модулей успешно собирался, но бины из одного модуля не обнаруживались в другом. Та же проблема будет и с Maven. Эта проблема решилась с помощью специального плагина: Jandex. Есть версия как для Gradle, так и для Maven.

GitHub: Jandex Gradle Plugin

Пример настройки в корневом build.gradle

buildscript {  
    repositories {  
        gradlePluginPortal()  
        mavenCentral()  
    }  
    dependencies {  
        classpath 'org.kordamp.gradle:jandex-gradle-plugin:1.0.0'
    }  
}

apply plugin: "org.kordamp.gradle.jandex"

subprojects {
	tasks.withType(Javadoc).configureEach {  
	    dependsOn('jandex')  
	    options.encoding = 'UTF-8'  
	    options.addStringOption("Xdoclint:none", "-quiet")  
	}
}

allprojects {
	tasks.matching { task ->  
	    task.name in ['quarkusDependenciesBuild']  
	}.configureEach {  
	    dependsOn 'jandex'  
	}
}

Пример настройки в корневом pom.xml

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