如何在gradle中排除测试依赖性

时间:2017-10-31 01:19:43

标签: java gradle

首先,我有一个这样的项目:

project-a
   src
      main
          java
              A.java
      test
          java
              ATest.java

然后,我有另一个这样的项目:

project-b
   src
      main
          java
              B.java
      test
          java
              BTest.java

build.gradle配置,project-b依赖项目-a

dependencies{
    compile project(":project-a")
}

问题是BTest.java可以访问ATest.java,如何避免这种情况?

-------------------显示更多细节--------------- enter image description here

settings.gradle

rootProject.name = 'test-dependence'

include 'project-a', 'project-b'

项目-B /的build.gradle

dependencies {
   compile project(":project-a")
   testCompile group: 'junit', name: 'junit', version: '4.12'
}

1 个答案:

答案 0 :(得分:1)

不幸的是,Gradle模块和IntelliJ模块之间存在一些阻碍不匹配,因为Gradle允许模块中有多个类路径(配置),而IntelliJ每个模块只有一个类路径。

基本上IntelliJ将允许BTest.java访问ATest.java但是如果你是从命令行构建的,那么Gradle就不会允许它。

在intellij Gradle设置中尝试以下操作。

Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle: check create separate modules per source set

相关问题here