首先,我有一个这样的项目:
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,如何避免这种情况?
-------------------显示更多细节---------------
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'
}
答案 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