build.gradle для проекта eclipse с несколькими исходными папками

У меня есть проект eclipse с исходными папками, например:

/src/main/java/module1
/src/main/java/module2
/src/main/java/module3

внутри этих папок src у меня есть такие пакеты, как:

com.example.module1.xxx
com.example.module2.yyy
com.example.module3.zzz

Я сделал сборку gradle с использованием плагинов java и eclipse с такими исходными кодами, как:

apply plugin: 'java'
apply plugin: 'eclipse'
sourceSets {
    main {
        java {
            srcDirs = ['src/main/java/module1']
            srcDir 'src/main/resources'
            srcDir 'src/main/java/module2'
            srcDir 'src/main/java/module3'
        }
    }
}
jar{
    manifest {
        attributes 'Implementation-Title': 'Example Project',
                   'Implementation-Version': '1.0.0'    
    }
}

repositories {
    mavenCentral()
}
dependencies{
    compile group: 'com.zaxxer', name: 'HikariCP', version: '2.2.5'
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j2Version
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version
    compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: log4j2Version
    compile group: 'org.apache.logging.log4j', name: 'log4j-jul', version: log4j2Version
    compile group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: log4j2Version
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.9'
}

Проблема в том, что когда я создаю проект eclipse, используя gradle eclipse, он правильно генерирует 3 исходные папки модуля, исходную папку ресурсов, но он также генерирует супер-исходную папку src / main / java, имеющую все вложенные исходные папки с такими пакетами, как:

module1.com.exaple.module1.xxx
module2.com.exaple.module2.yyy
module3.com.exaple.module3.zzz

Таким образом, я получаю сообщение об ошибке в eclipse: «Не могу вложить '$ {projectdir} / src / main / java / module1' внутри '$ {projectdir} / src / main / java'. Чтобы включить вложение, исключите 'module1 /' из '$ { каталог проекта} / src / main / java '"

Как мне изменить свои задачи / наборы источников, чтобы получить правильную структуру проекта?


person gladiator    schedule 29.12.2014    source источник
comment
srcDir 'src/main/resources' следует удалить. Это не исходный каталог Java, а каталог по умолчанию для sourceSets.main.resources.srcDirs, который учитывается при создании файлов проекта Eclipse.   -  person Peter Niederwieser    schedule 30.12.2014
comment
@PeterNiederwieser, вы правы ... спасибо   -  person gladiator    schedule 30.12.2014


Ответы (1)


Наконец-то выяснилось, что build.gradle в порядке ... что я делал неправильно, так это то, что я выполнял команду gradle eclipse, которая просто добавляла записи в существующий файл .classpath. Чтобы сгенерировать новую копию, мне пришлось выполнить gradle cleanEclipseClasspath eclipse, который произвел правильный файл .classpath.

person gladiator    schedule 29.12.2014
comment
Или даже выполните gradle cleanEclipse eclipse, чтобы просто сгенерировать артефакты затмения с помощью Gradle. - person Andreas Schmid; 31.12.2014