源文件夹未在eclipse中显示

时间:2018-08-22 07:18:43

标签: eclipse gradle

在我的gradle项目中,我具有以下源文件夹结构:

src/main/java
src/main/resources
src/test/java
src/test/resources
src/test/bdd/design/java
src/test/bdd/design/resources
src/test/bdd/interaction/java
src/test/bdd/interaction/resources

但是,当我导入项目时,项目浏览器中只会显示以下软件包:

src/main/java
src/main/resources
src/test/java
src/test/resources

如何使其他程序包默认显示在项目浏览器中?

1 个答案:

答案 0 :(得分:1)

这取决于它们的使用方式。如果要与其余测试共享同一JavaCompile任务,则可以向“测试” sourceSet中添加额外的java / resource dirs。

sourceSets.test {
    java {
        srcDir 'src/test/bdd/design/java'
        srcDir 'src/test/bdd/interaction/java'
    }
    resources {
       srcDir 'src/test/bdd/design/resources'
       srcDir 'src/test/bdd/interaction/resources'
    }
}

如果要使用它们自己的类路径单独进行编译和测试任务,则需要单独的源集。

sourceSets.create('bddDesign') 
sourceSets.create('bddInteraction') 
sourceSets.bddDesign {
    java.srcDir 'src/test/bdd/design/java' 
    resources.srcDir 'src/test/bdd/design/resources'
}
sourceSets.bddInteraction {
    java.srcDir 'src/test/bdd/interaction/java'
    resources.srcDir 'src/test/bdd/interaction/resources'
}

对于第二个选项,您可能会为每个源集至少创建一个Configuration,以便每个源集都可以具有独立的类路径

例如

configurations {
   bddDesignCompile {
       extendsFrom configurations.javaCompile
   } 
} 
sourceSets.bddDesign.java {
    compileClasspath = files(configurations.bddDesignCompile, sourceSets.main.output)
} 
dependencies {
    bddDesignCompile 'com:foo:1.2.3'
} 

有关其他灵感,请参见JavaFlavoursExtension.groovy