java - 具有多个源文件夹的 eclipse 项目的 build.gradle

标签 java eclipse gradle build.gradle 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

我使用 java 和 eclipse 插件构建了一个 gradle 构建,源集如下:

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

问题是当我使用 gradle eclipse 生成 eclipse 项目时,它正确地生成了 3 个模块源文件夹,一个资源源文件夹,但它也生成了 super 源文件夹 src/main/java,其中包含所有嵌套的源文件夹,包含如下包:

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

因此我在 eclipse 中得到错误“无法在‘${projectdir}/src/main/java’中嵌套‘${projectdir}/src/main/java/module1”。要启用嵌套,请从中排除‘module1/’ '${projectdir}/src/main/java'”

我如何修改我的任务/源集以获得正确的项目结构?

最佳答案

好吧,终于发现 build.gradle 没问题……我做错的是我正在执行命令 gradle eclipse,它只是将条目附加到现有的 .classpath 文件中,以生成一个新副本我必须执行 gradle cleanEclipseClasspath eclipse 生成正确的 .classpath 文件。

关于java - 具有多个源文件夹的 eclipse 项目的 build.gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27692108/

相关文章:

android - 无法获取 'https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.0.1/google-services-4.0.1.pom'

android - Gradle 离线如何缓存依赖项

linux - 错误 : jar not found in bash after installing OpenJDK

java - Java 中的响应字符串 (http)

c++ - 错误 : default parameter given for parameter 1

eclipse - 在 Eclipse 中运行 "mvn clean install"

java - 如何将事件添加到复选框?

java - 在 Android 应用程序中看不到导入的依赖模块类 LibGDX

java - Android:使用位图使用android studio显示图像时出错

eclipse - 是否可以将IDE中的所有项目的Gradle升级到新版本?