java - 如何排除gradle中的测试依赖

标签 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依赖project-a

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

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

-------------------显示更多详细信息-------------- enter image description here

设置.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'
}

最佳答案

不幸的是,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

关于java - 如何排除gradle中的测试依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47026550/

相关文章:

下载文件时出现 java.lang.OutOfMemoryError

java - 在 O(log(N)) 时间内查找排序数组中一定范围内的整数数量的高效算法?

java - 从本地 jar 将插件添加到 gradle buildscript

java - 如果 Java 的 Gradle 常规目录结构发生更改,.class 文件将在哪里创建?

java - Spring Boot 中可以有多个传输客户端吗?

java - TestNG "getCurrentXmlTest()).getAllParameters()"API 使用非常旧的 testng-5.4-jdk15.jar TestNG 库

gradle - Gradle-为特定项目设置特定的JAVA_HOME

android - 导入 Volley 库后,gradle构建失败

groovy - Gradle复制任务-筛选闭包返回null时的null指针

java - Spring 数据不保存日期