Nik*_*lev 1 multi-project gradle
故事:我最近发现jar.enabled = false在多项目 Gradle 项目的项目 b-features 中设置将阻止同一项目的项目 a-features 能够通过以下方式引用 B
dependencies {
compile project(':b-features')
}
Run Code Online (Sandbox Code Playgroud)
问题:为什么jar.enabled = false阻止项目 A 成功引用项目 B?
附加信息:
根项目的 build.gradle:
group 'gradle.studies'
apply plugin: 'java'
...
Run Code Online (Sandbox Code Playgroud)
根项目的settings.gradle:
rootProject.name = 'multi-project-reference'
include 'a-features'
include 'b-features'
Run Code Online (Sandbox Code Playgroud)
项目的 build.gradle a-features:
group 'gradle.studies'
apply plugin: 'java'
...
dependencies {
compile project(':b-features')
}
...
Run Code Online (Sandbox Code Playgroud)
项目的build.gradle b-features
group 'gradle.studies'
apply plugin: 'java'
jar.enabled = false
...
Run Code Online (Sandbox Code Playgroud)
a-features项目A类:
package outerproject;
import innerproject.B;
public class A {
public static void main(String[] args) {
B b = new B();
System.out.println(b.getMsg());
}
}
Run Code Online (Sandbox Code Playgroud)
b-features项目B类:
package innerproject;
public class B {
public B() {
this.msg = "Hello World";
}
private String msg;
public String getMsg() {
return msg;
}
//...
}
Run Code Online (Sandbox Code Playgroud)
错误:
14:27:50: Executing external task 'build'...
:compileJava NO-SOURCE :processResources NO-SOURCE :classes UP-TO-DATE
:jar UP-TO-DATE :assemble UP-TO-DATE :compileTestJava NO-SOURCE
:processTestResources NO-SOURCE :testClasses UP-TO-DATE :test
NO-SOURCE :check UP-TO-DATE :build UP-TO-DATE :b-features:compileJava
UP-TO-DATE :b-features:processResources NO-SOURCE :b-features:classes
UP-TO-DATE :b-features:jar SKIPPED
/home/nikita/IdeaProjects/multi-project-reference/a-features/src/main/java/outerproject/A.java:3:
error: package innerproject does not exist import innerproject.B;
^ /home/nikita/IdeaProjects/multi-project-reference/a-features/src/main/java/outerproject/A.java:7:
error: cannot find symbol
B b = new B();
^ symbol: class B location: class A /home/nikita/IdeaProjects/multi-project-reference/a-features/src/main/java/outerproject/A.java:7:
error: cannot find symbol
B b = new B();
^ symbol: class B location: class A 3 errors :a-features:compileJava FAILED
FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3607 次 |
| 最近记录: |