내가 별도의 소스 세트를 사용하는 것이 좋습니다 : main
이 api
에 의존하는 경우 같은 추가
apply plugin: "java"
sourceSets {
main {
java {
exclude "com/interface/A.java"
exclude "com/interface/B.java"
}
}
api {
java {
srcDir "src/main/java"
include "com/interface/A.java"
include "com/interface/B.java"
}
}
}
을 :
sourceSets.main.compileClasspath += sourceSets.api.output
소스/대상 호환성에 조정할 수 있습니다 컴파일 작업 수준 :
가 Gradle을 자체로 실행되는 JDK에 속하는 이외의 컴파일러를 사용하려면 컴파일러 실행 파일을 설정해야합니다 :이 어느 정도 빌드 속도가 느려질 수 있습니다
compileApiJava {
options.fork = true
options.forkOptions.executable = "/path/to/compiler/executable"
}
.
API에 대한 자세한 내용은 Gradle Build Language Reference을 확인하십시오. 작업 jarApi (유형 : 항아리) { 의 DependsOn compileApiJava sourceSets.api.output에서 분류 = 'API' } 작업 sourcesApiJar (유형 : 항아리,의 DependsOn : apiClasses) {
나는이 추가 classifier = 'api-sources' from sourceSets.api.allSource } – Soccertrash
오른쪽, 각 소스 세트에 Jar 작업이 자동으로 추가되지 않는다는 사실을 잊어 버렸습니다. –