[java] IntelliJ Idea IDE에서 javafx.application 기호를 해결할 수 없습니다.

IntelliJ Idea IDE에서 JavaFX 응용 프로그램 을 만들려고했지만 다음과 같은 컴파일 오류가 발생했습니다.

java : javafx.application 패키지가 없습니다.

프로젝트 SDK와 프로젝트 언어 수준을 Java 8로 변경하고 프로젝트를 다시로드했지만 도움이되지 않았습니다. 그런 다음 설정에서 JavaFX 플러그인이 활성화되었는지 확인했습니다.

Google과 StackOverflow에서 검색 한 결과 무엇이 잘못되었는지 더 이상 알 수 없었습니다. 미리 도움을 주셔서 감사합니다.

PS 저는 archlinux OS에서 IntelliJ Idea 14.0과 java8.1.0_25를 사용하고 있습니다.



답변

여기 에 표시된대로 JavaFX는 더 이상 openjdk에 포함되지 않습니다.

따라서 <Java SDK root>/jre/lib/ext/jfxrt.jar클래스 경로에 Project Structure -> SDKs -> 1.x -> Classpath있습니까? 그렇지 않다면 그 이유 일 수 있습니다. 그것을 추가하고 문제가 해결되는지 확인하십시오. 예를 들어 Ubuntu에서 sudo apt-get install openjfx.


답변

이것이 완벽한 솔루션이어야합니다. 시도하고 즐기십시오. 일부 명령이 제대로 작동하지 않으면 오류가 발생하면 직접 해결해보십시오. 나는 당신에게 필요한 주요한 것을주었습니다. 응용 프로그램이 다른 위치에 있거나 시스템 아키텍처가 다른 경우 직접 해결하십시오. 아주 쉽게 할 수 있습니다. 내 주어진 솔루션을 따르십시오.

0 단계 :

sudo apt-get install openjdk-8-jre

1 단계

sudo apt-get install openjfx

2 단계:

sudo cp /usr/share/java/openjfx/jre/lib/ext/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib

3 단계 :

sudo cp /usr/share/java/openjfx/lib/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib

4 단계 :

sudo chmod 777 -R /usr/lib/jvm/java-1.8.0-openjdk-amd64

이제 새 프로젝트를 열거 나 프로젝트를 다시 빌드하십시오. 행운을 빕니다.


답변

IntelliJ와 함께 제공되는 것을 사용할 수 있습니다 <intellij>/jre64/lib/ext/jfxrt.jar..


답변

공식 Arch Linux 저장소에서 java-openjfx 패키지를 다운로드해야합니다. (또한 openjdk8-openjdk 패키지가 있는지 확인하십시오). 그런 다음 Intellij에서 프로젝트를 열고 Project-Structure-> SDK-> 1.8-> Classpath로 이동하여 이전 JDK를 제거하고 이제 jfxrt.jar을 포함 할 새 JDK의 디렉토리를 클릭하십시오.


답변

JDK보다 프로젝트 언어 수준이 낮을 수 있습니다.

“Projeckt 구조 / 프로젝트 / 프로젝트-> 언어 수준”이 JDK보다 낮은 지 확인하십시오. JDK 9에서 동일한 문제가 발생했으며 언어 수준은 기본적으로 6으로 설정되었습니다.

프로젝트 언어 레벨을 9로 설정했고 그 후 모든 것이 잘 작동했습니다.

동일한 문제가있을 수 있습니다.


답변

문제를 해결하는 또 다른 방법 : 왼쪽 프로젝트 구조의 프로젝트 폴더에서 마우스 왼쪽 버튼을 클릭하고 작업 목록에서 “모듈 설정 열기”를 클릭합니다. 새 창에서 메뉴 아래에있는 SDK를 클릭합니다. title “Platform settngs”그런 다음 “Classpath”목록에서 jfxrt 플러그인 경로를 찾을 수 있는지 확인하고 그렇지 않은 경우 오른쪽의 + 기호를 클릭하고 jfxrt 플러그인의 레퍼토리를 선택합니다 (C : \ Program Files \ Java \ 내 데스크탑의 jdk1.8.0 \ jre \ lib \ ext \ jfxrt.jar)


답변

샘플 Java 애플리케이션 :

나는 관련이 있고 질문의 문제를 해결하는 것 같기 때문에 여기에 다른 질문에서 내 대답을 교차 게시 하고 있습니다.

다음은 OpenJDK 12, JavaFX 12 및 Gradle 5.4를 사용한 예제 프로젝트입니다.

  • 제목이 “Hello World!”인 JavaFX 창을 엽니 다.
  • 작동하는 실행 가능한 배포 zip 파일을 빌드 할 수 있습니다 (테스트 할 Windows).
  • 추가 구성없이 IntelliJ에서 열고 실행할 수 있습니다.
  • 명령 줄에서 실행할 수 있습니다.

누군가 Github 프로젝트가 유용하다고 생각하기를 바랍니다.

Scala 케이스에 대한 지침 :

또한 다음은 Gradle Scala 플러그인에서 작동 하지만 Java에서는 작동하지 않는 지침 입니다. 다른 사람이 Scala, Gradle 및 JavaFX를 사용하는 경우를 대비하여 여기에 남겨 두겠습니다.

1) 질문에서 언급했듯이 JavaFX Gradle 플러그인을 설정해야합니다.
Open JavaFX에는 이에 대한 자세한 문서가 있습니다.

2) 또한 어딘가에서 압축을 푼 플랫폼 용 JavaFX SDK 가 필요합니다 . 참고 : JavaFX 12 가 있는 최신 릴리스 섹션 으로 스크롤해야합니다 (어떤 이유로 LTS 11이 첫 번째 임).

3) 그런 다음 IntelliJ에서으로 이동 File -> Project Structure -> Libraries하여 ➕ 버튼을 누르고 lib압축이 풀린 JavaFX SDK 의 폴더를 추가합니다 .

스크린 샷에 대한 더 긴 지침 은 IntelliJ에 대한 뛰어난 Open JavaFX 문서를 확인하십시오 . 딥 링크가 작동하지 않으므로 문서 탐색에서 선택 JavaFX and IntelliJ하고 선택하십시오 Modular from IDE. 그런 다음 단계로 스크롤하십시오 3. Create a library. 문제가있는 경우 다른 단계도 확인하십시오.

이것이 원래 질문과 똑같은 상황이라고 말하기는 어렵지만 여기에 도착했을 정도로 비슷해 보였으므로 다른 사람들을 돕기 위해 여기에 내 경험을 추가하고 있습니다.