кстати.проблема все еще открыта (текущая версия 0.19.1), а проблема (2307) все еще не решена.
Причина в том, что @QuarkusTest
указывает на QuarkusTestExtension
, который в BootstrapClassLoaderFactory.newDeploymentClassLoader
пытается разрешить локальнуюпроект с Maven.
У нас есть варианты:
- ждать официального решения (см. проблему)
- написать собственное расширение, переопределяющее
BootstrapClassLoaderFactory
, чтобы «понять» проект gradleструктура - применить обходной путь (на данный момент), то есть сгенерировать pom.xml из сборки Gradle
Обойти
в build.grade:
plugins {
id 'java'
id 'io.quarkus' version '0.19.1'
// ...
id 'maven-publish'
}
// ...
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
// augment your pom here if necessary
}
}
}
// ...
task createPom(type: Copy) {
description 'This is workaround to generate pom.xml, needed for @QuarkusTest tests.'
dependsOn('generatePomFileForMavenJavaPublication')
from "$buildDir/publications/mavenJava/pom-default.xml"
into '.'
rename('pom-default.xml', 'pom.xml')
}
Примечание:
- используйте плагин 'maven-publish', а не устаревший 'maven'.
- не забудьте применить
./gradlew createPom
к изменениям зависимостей