【JavaFX】Eclipse의 권한을 build.gradle에 쓰는 방법

gradlew eclipse마다 오류가 발생합니다.





Access restriction: The type 'TransferMode' is not API (restriction on required library 'C:\Program Files\Java\jdk1.8.0_211\jre\lib\ext\jfxrt.jar')

이것은 요컨대 다음 위치에서 접근 허가를 주면 좋다는 것이다.



위의 이미지 오른쪽, Edit에서 편집하여 javafx/**를 규칙으로 Accessible에 추가해 허가해 주면 좋겠지만.


유석에 gradlew eclipse는 커맨드는 의존관계를 갱신할 때마다 치므로 매번 매번 이런 설정을 시킬 수 있는 것은 우울하다.

누군가가 git에서 clone했을 때에 「이것 에러 나오고 있습니다만(웃음)」라고 말해지는 것도 정말로 화가 난다.

그래서 gradle에 쓰는 법.

build.gradle
import org.gradle.plugins.ide.eclipse.model.AccessRule

eclipse {
    classpath {
        file {
            whenMerged {
                def jre = entries.find { it.path.contains 'org.eclipse.jdt.launching.JRE_CONTAINER' }
                jre.accessRules.add(new AccessRule('accessible', 'javafx/**'))
            }
        }
    }
}

이런 느낌.
이것으로 Eclipse의 .classpath에 이하와 같이 추가되어 나는 마우스를 사용하는 양이 줄어들고, 좌절이 낫는 것으로 전쟁이 줄어 세계가 평화가 되는 구조이다.
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/">
        <accessrules>
            <accessrule kind="accessible" pattern="javafx/**"/>
        </accessrules>
    </classpathentry>

항상 고마워, 스택 오버플로 사람.
그리고, 【JavaFX】Eclipse로, 액세스 제한: The type '?' is not API(? ex: JavaFX)와 나왔을 때의 대처법 정리@smk7758 씨.

좋아 대략 정시다. 돌아갈거야 나는.

좋은 웹페이지 즐겨찾기