Я публикую здесь, чтобы понять, как работает JHipster с зависимостями Gradle, в частности, в связи с тем, что я не могу скопировать некоторые из них в подмодуль Gradle Iсоздали в моем проекте JH.
Например, следующее не работает в подмодуле Gradle
compile "junit:junit"
Ошибка
Could not resolve: junit:junit
Однако классическийодин скопирован из mvnrepository отлично работает
compile group: 'junit', name: 'junit', version: '4.12'
Некоторая дополнительная информация: я создаю подмодуль, который содержит набор классов, связанных с тестированием, в основном это большая загрузка пользовательских совпадений Hamcrest, скопированных изеще один проект из мира муравьев.В первоначальном проекте было много беспорядочных спагетти-кодов, так что теперь я реорганизуюсь в изолированный модуль Gradle.Модуль testlib
должен зависеть от инфраструктуры тестирования и содержать все необходимое для написания хороших тестов.Его можно сравнить с проектом spring-test
, который вы бы использовали для написания собственных тестов на основе Spring.
На данный момент файл Gradle выглядит как
plugins {
id "java"
}
configurations {
providedRuntime
implementation.exclude module: "spring-boot-starter-tomcat"
}
repositories {
mavenLocal()
mavenCentral()
jcenter()
}
group 'org.example' //different from com.acme of super-project
version '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
dependencies {
compile group: 'org.assertj', name: 'assertj-core', version: '3.13.2'
compile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.2'
compile group: 'org.hamcrest', name: 'hamcrest', version: '2.1'
compile group: 'org.mockito', name: 'mockito-core', version: '3.0.0'
compile group: 'org.springframework.boot', name: 'spring-boot', version: spring_boot_version
compile "junit:junit" //Fails
}
Вопрос
Итак, вопрос состоит из двух частей:
- Почему синтаксис
scope "orgId:name"
работает в сгенерированном JHipster модуле, а не в подмодулях?Это часть стандартного синтаксиса Gradle? - , почему это не работает в субмодуле?Применяет ли JHipster собственный плагин для применения правильного номера версии, который явно отсутствует?Как мне сделать то же самое в подмодуле, который должен содержать только код библиотеки Java?