首先,我有一个这样的项目:
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,如何避免这种情况?
-------------------显示更多详细信息--------------
设置.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/