Build.gradle for an eclipse project with multiple source folders

I have an eclipse project with source folders such as:

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

inside these src folders i have packages like:

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

I created a gradle assembly using the java and eclipse plugin with sources like:

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'
}

The problem is when I generate an eclipse project using gradle eclipse, it correctly generates the source folders with three modules, the source resources folder, but also generates the super source folder src / main / java, which has all the sub-source folders with packages

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

Thus, I get an error in eclipse "Can not nest" $ {projectdir} / src / main / java / module1 'inside' $ {projectdir} / src / main / java '. To enable nesting exception 'module1 /' from '$ {ProjectDir} / SRC / main / Java "

/, ?

+4
1

- , build.gradle ... , gradle eclipse, .classpath. , gradle cleanEclipseClasspath eclipse, .classpath.

+4

Source: https://habr.com/ru/post/1569316/


All Articles