gpt4 book ai didi

testing - Quarkus gradle 测试失败

转载 作者:行者123 更新时间:2023-11-28 20:10:24 24 4
gpt4 key购买 nike

我正在尝试使用 quarkus 运行简单的“入门”型 gradle 项目,但我的单元测试每次都因此错误而失败

Caused by: io.quarkus.bootstrap.BootstrapException: Failed to locate project pom.xml for C:\Users\myuser\IdeaProjects\myproj\build\classes\java\main

按照此处的说明进行操作 https://quarkus.io/guides/gradle-tooling对正在发生的事情有什么建议或想法吗?

Gradle 版本详情

Gradle 5.4

Build time:   2019-04-16 02:44:16 UTC
Revision: a4f3f91a30d4e36d82cc7592c4a0726df52aba0d

Kotlin: 1.3.21
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.2 (Oracle Corporation 11.0.2+9)
OS: Windows 10 10.0 amd64

最佳答案

顺便说一句。问题仍然存在(当前版本 0.19.1)并且问题 (2307) 仍未解决。

原因是@QuarkusTest指向 QuarkusTestExtension , 在BootstrapClassLoaderFactory.newDeploymentClassLoader尝试使用 Maven 解决本地项目。

我们有选择:

  • 等待官方解决方案(见issue)
  • 写自己的扩展重写BootstrapClassLoaderFactory “理解”gradle 项目结构
  • 应用解决方法(暂时),即从 gradle build 生成 pom.xml

解决方法

在 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关于依赖关系的变化

关于testing - Quarkus gradle 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com