Gradle 7.3 z Java 17 z task Processintestresources: Zapis [nazwa pliku] jest duplikat, ale traktowanie strategia duplikatów nie podano

0

Pytanie

Próbuję zaktualizować мультипроектное aplikacja gradle w wersji 6.x do gradle 7.3, ponieważ jest to pierwsza wersja, która obsługuje Java 17. Jednak nie mogę przezwyciężyć problem związany z zadaniem, które nie jest zadeklarowana w żadnym z moich build.gradle Pliki. Błąd poniżej: ([] edytowane fragmenty)

Execution failed for task ':[root module]:[module]:processIntTestResources'.
> Entry [filename] is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.3/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.

Myślę, że jest to związane z kompletem oryginalnych tekstów dla testów integracyjnych, jednak nigdy wyraźnie nie kopiuję pliki i pliki do tych testów. Ja również skonfigurował wszystkie instrukcje dotyczące kopiowania na taką konfigurację w zakresie przetwarzania duplikatów:

duplicatesStrategy = DuplicatesStrategy.INCLUDE

Próbowałem też dodać powyższego w projekty, które nie powiodło się, ponieważ ten parametr jest ważny tylko dla zadań lub bloków typu kopiowania. Ja w żadnym wypadku nie jestem ekspertem w gradle i mogę dodać dowolną istotne informacje, ale uważam, że włączył coś, co może być najbardziej istotne. Ja naprawdę szukam kierunek, w którym mogę się poruszać, aby kontynuować debugowanie tego problemu.

gradle java java-17
2021-11-23 21:54:30
1

Najlepsza odpowiedź

0

Mało opowiedzieli o tym, jak masz skonfigurowane integracyjne testy, ale ja spotkałem się z podobnym problemem. Co uratowało mnie wpis na blogu Toma Gregory: Uruchamianie testów integracyjnych w Gradle

Ponieważ linki mogą zniknąć, pozwól mi skopiować i wkleić najbardziej istotną część, którą znalazłem aktualne, a mianowicie dotyczące nowego (od Gradle 7.3) wtyczki JVM Test Suite, który dodaje wsparcie testów integracyjnych. Dla mnie to zamieniał moją starą konfigurację testu integracyjnego:

testing {
    suites {
        integrationTest(JvmTestSuite) {
            dependencies {
                implementation project
            }
        }
    }
}
tasks.named('check') {
    dependsOn testing.suites.integrationTest
}

Znalazłem również przydatne następujący, którego nie ma w powyższym komunikacie na blogu, ale ono zostało z mojej poprzedniej konfiguracji Gradle 6. To dla mnie dubluje zależności "test" dla "IntegrationTest". Teraz nie jest to zalecany sposób traktowania problemów z testowaniem (patrz w Dokumentacji wtyczki JVM Test Suite), ale i tak uznał za przydatne szybko wrócić do pracy:

configurations {
    integrationTestImplementation.extendsFrom testImplementation
    integrationTestRuntime.extendsFrom testRuntime
}
2021-12-14 22:25:37

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................