0
이야기 : 나는 최근에 발견 한 그왜 "jar.enabled = false"가 Gradle의 종속성에 영향을 줍니까?
dependencies {
compile project(':b-features')
}
를 통해 Gradle을 프로젝트 B를 참조 할 수있는에서 같은 프로젝트의-기능을 프로젝트 중지 멀티 프로젝트의 프로젝트에 jar.enabled = false
설정 B-기능 질문 : jar.enabled = false
프로젝트 A가 프로젝트 B를 성공적으로 참조하지 못하는 이유는 무엇입니까?
추가 정보 : 루트 프로젝트의
build.gradle :
루트 프로젝트의group 'gradle.studies'
apply plugin: 'java'
...
settings.gradle :
프로젝트a-features
의
rootProject.name = 'multi-project-reference'
include 'a-features'
include 'b-features'
build.gradle :
group 'gradle.studies'
apply plugin: 'java'
...
dependencies {
compile project(':b-features')
}
...
프로젝트 1,515,
build.gradle b-features
group 'gradle.studies'
apply plugin: 'java'
jar.enabled = false
...
클래스 A a-features
프로젝트 :
package outerproject;
import innerproject.B;
public class A {
public static void main(String[] args) {
B b = new B();
System.out.println(b.getMsg());
}
}
클래스 B의 b-features
프로젝트 :
package innerproject;
public class B {
public B() {
this.msg = "Hello World";
}
private String msg;
public String getMsg() {
return msg;
}
//...
}
오류 :
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.