2017-11-17 22 views
1

Android 개발 용 GitHub의 Immutables 라이브러리를 사용합니다. 이제 백엔드 쪽에서도 시도해 보겠습니다. 안드로이드에서GitHub의 Immutables가 IntelliJ + Gradle에서 작동하도록 만드는 방법

, 내가 라이브러리를 사용하려면에 필요한 것은 이것이다 : 내 자바 프로젝트의 build.gradle에 위의 종속성을 복사 할 때

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 

    // immutable entities generation 
    provided "org.immutables:value:2.5.5" // for annotations 
    provided "org.immutables:builder:2.5.5" // for annotations 
    provided "org.immutables:gson:2.5.5" // for annotations 

    ... other dependencies 
} 

,이 오류가 발생합니다 :

Error:(24, 0) Gradle DSL method not found: 'provided()' 

compileOnlycompile으로 provided 교체하려고 그런데 @Value.Immutable 주석 인터페이스의 구현은 발생하지 않는다.

어떻게 작동합니까?

답변

1

답을 찾았습니다. 공유하면 누구에게나 도움이 될 것입니다.

먼저, here (설명은 Settings > Build, Execution, Deployment > Compiler > Annotation Processors에 있지만) IntelliJ에서 주석 처리를 활성화해야했습니다.

다음 코드가 실제로 구현 생성 시작한 후 : 그러나

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 

    // immutable entities generation 
    compile "org.immutables:value:2.5.5" // for annotations 
    compile "org.immutables:builder:2.5.5" // for annotations 
    compile "org.immutables:gson:2.5.5" // for annotations 

    ... other dependencies 
} 

을, 난 여전히 자동으로 원본 파일에 구현을 가져올 수 없습니다.

생성 된 클래스의 검색을 허용하려면 main 패키지에있는 generated 폴더를 마우스 오른쪽 버튼으로 클릭 한 다음 Mark Directory As > Generated Sources Root을 클릭해야했습니다.