Я указываю на проблему, когда импортирую проект gradle, который изначально построен с Eclipse , в IntelliJ . Фактически, это проект gradle-project , но когда я импортирую его в IntelliJ, среда IDE сообщает мне, что удаляет (некоторые) дублирующиеся корни содержимого.
Я получаю воздушный шарик - это говорит мне :
Удалены дубликаты корней контента
сообщение в журнале событий:
чч: мм [= 22: 58] Обнаружены повторяющиеся корни содержимого
Путь [/Users/.../someProject/someModule] модуля [someModuleName] удален из модулей [someModuleName.someSourceSetName]
Также Еще 1 путь был deduplicatetd. Подробности смотрите в журнале идей
В общем, это gradle-проект , но я не могу запустить его в IntelliJ. Он строится с использованием gradle-Wrapper в командной строке (./gradlew build) , но я хотел бы собрать с IntelliJ, чтобы улучшить использование с помощью (Recompile + Reload ) и другие функции IDE .
У меня есть следующие модули:
A (A - это модуль, который я пытаюсь build)
B (B - модуль, в котором я хочу повторно использовать 'main' И 'testutils' модуля A sourceSets)
Модуль A - состоит из 3 исходных наборов (= основной, тестовый, testutils):
src/main/java
src/test/java
src/testutils/java
Модуль A имеет зависимости для testutils (потребляющий 'main'), test (потребляющий 'main' & 'testutils'), main (производство java -sr c модуля)
И Модуль B где sourceSet testutils
модуля A требуется в пределах main
sr c и tests
; Модуль B - использует sourceSet 'A / src / main / java' и 'A / src / testutils / java':
Так что мои файлы Gradle (немного сокращены) :
A / build.gradle:
apply plugin: 'maven'
sourceSets {
test.java.srcDirs +='src/testutils/java'
testutils
}
dependencies {
api project('someOtherProjectA')
...
testImplementation project('someOtherProjectZZ')
testutilsImplementation sourceSets.test.compileClasspath
}
task testutilsJar(type: Jar) {
from sourceSets.testutils.output
appendix 'testutils'
}
configurations {
testutils
}
artifacts {
testutils testutilsJar
}
uploadTestutils {
repositories {
mavenDeployer {
configuration = configurations.testutils
repository(url: mavenPublicRepository) {
authentication(userName: repoUsername, password: repoPassword)
}
}
}
}
publish.dependsOn uploadTestutils
B / build.gradlew:
dependencies {
api project('someOtherProjectB')
api "someOtherDependency"
...
testImplementation project('someOtherProjectC')
testImplementation project(path: ':A:theNameOfTheModule', configuration: 'testutils')
...
}
My Настройки системы DEV:
JDK: 11.0.4
Gradle-Wrapper with Version: gradle-5.5.1
IntelliJ IDEA 2020.1 (Ultimate Edition) - Build #IU-201.6668.121, built on April 8, 2020
Runtime version: 11.0.6+8-b765.25 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.4
Memory: 3987M
Cores: 16
Я уже пытался использовать ответы из
Я был бы очень признателен за совет, как я могу управлять моим 'testutils' -SourceSet, что он также создает проект с помощью встроенный IntelliJ-Build:
- Настройки (= Сборка, выполнение, развертывание > Инструменты сборки > Gradle )
- сборка и запуск с использованием> 'IntelliJ IDEA' (вместо 'Gradle')
- запуск тестов с использованием> 'IntelliJ IDEA' (вместо 'Gradle')