IT Share you

JavaFX-실제로 브라우저에 배포 할 수 있습니까?

shareyou 2020. 11. 30. 20:18
반응형

JavaFX-실제로 브라우저에 배포 할 수 있습니까?


저는 작년에 JavaFX에 대한 연구를 수행했으며 JavaFX를 사용하여 몇 가지 기본 데스크탑 앱도 구축했습니다.

RIA (Rich Internet Application)를 만드는 데 사용되는 것으로 설명됩니다.

http://en.wikipedia.org/wiki/Javafx

그러나 실제로 웹 브라우저로 배포 할 수 있습니까? 실행 가능한 JAR 파일을 통해서만 배포했습니다.

웹 브라우저를 통해 배포하는 것이 얼마나 쉬운가요? 작동합니까? 누구든지 이것에 대한 경험이 있습니까?

http://docs.oracle.com/javafx/2/deployment/deployment_toolkit.htm


2018 년 3 월 Java 클라이언트 로드맵 업데이트

이 질문에 관심이있는 독자는 다음 Oracle 백서를 검토 할 것을 권장합니다.

위의 문서는 관련 기술 (JavaFX / Swing / AWT / Applets / WebStart)에 대한 공식적인 Oracle 입장, 해당 기술을 지원할 예정일 및 해당 기술 중 어떤 기술을 오픈 소스 개발 프로젝트로 전환 할 것인지 설명합니다. JDK 및 JRE.

2017 년 10 월 Java 9 업데이트

Java 9 릴리스 정보 에 따르면 다음과 같습니다.

Applet API, Java 플러그인, Java Applet Viewer, JNLP 및 javaws 도구를 포함한 Java Web Start를 포함한 Java Applet 및 WebStart 기능은 모두 JDK 9에서 더 이상 사용되지 않으며 향후 릴리스에서 제거 될 예정입니다.

따라서 Java 9+의 경우 Java 플러그인을 사용하는 브라우저에서 JavaFX를 배포하는 것은 더 이상 사용되지 않는 기술을 통해서만 가능합니다. Java 9 릴리스 노트 의 다른 부분에있는 Oracle 노트 :

Oracle의 JDK 9 빌드에서 Java 플러그인 및 관련 애플릿 기술을 더 이상 사용하지 않습니다. JDK 9에서 계속 사용할 수 있지만 이러한 기술은 향후 릴리스에서 Oracle JDK 및 JRE에서 제거 할 수 있도록 고려 될 것입니다. 웹 페이지에 포함 된 애플릿 및 JavaFX 응용 프로그램을 실행하려면 Java 플러그인이 필요합니다. 이러한 유형의 애플리케이션을 Java Web Start 또는 자체 포함 애플리케이션으로 다시 작성하는 것을 고려하십시오.

참고 : Java Web Start는 더 이상 사용되지 않기 때문에 실제로 대안이 아닙니다 (어쨌든 브라우저 페이지에 포함되고 렌더링되는 응용 프로그램과 다릅니다).

유사한 기능을 제공하는 대안 으로 Java 플러그인이없는 브라우저에서 JavaFX 애플리케이션을 배포하는 jpro 와 같은 것을 고려해보십시오 (jpro는 현재 클로즈 베타 버전이므로 2017 년 10 월 현재 실행 가능한 솔루션이 아니지만 언젠가는 미래...).

현재로서는 JavaFX 애플리케이션을 배포하는 가장 좋은 방법 은 브라우저 외부에서 실행 되는 자체 포함 애플리케이션 을 사용하는 것입니다.


Java 7 및 8에 대한 이전 답변

JavaFx-실제로 브라우저에 배포 할 수 있습니까?

예, JavaFX 응용 프로그램은 웹 브라우저에서 호스팅되는 html 웹 페이지 내에서 실행되도록 배포 할 수 있습니다.

이를 가능하게하는 기술은 Java Plugin 입니다. 이 플러그인은 현재 NPAPI 기반 브라우저 플러그인 솔루션입니다. Java 플러그인은 Oracle Java 7 Runtime Standard Environment 와 함께 제공됩니다 .

모든 브라우저가 지원되는 것은 아니며 JavaFX 지원 구성 페이지 에 나열된 브라우저 만 지원 됩니다 .

웹 브라우저를 통해 배포하는 것이 얼마나 쉬운가요?

웹 브라우저에서 JavaFX 프로젝트를 배포하는 가장 쉬운 방법은 다음과 같습니다.

  1. NetBeans에서 새 JavaFX 프로젝트를 만듭니다 .
  2. 간단한 HelloWorld 앱을 개발합니다 .
  3. 첫 번째 JavaFX 응용 프로그램 배포 지침을 따릅니다 .

이것은 어렵지 않습니다 (내 의견으로는).

또는 JavaFX 응용 프로그램 배포 에 대한 자세한 참조의 지침을 따르 거나 타사 도구를 사용하십시오. 많은 프로젝트에서 NetBeans IDE 이외의 도구를 사용하여 패키징을 수행하는 것이 더 나은 방법입니다. 그러나 일반적으로 NetBeans IDE에서 배포 패키징 작업을 처리하도록하는 것이 더 쉽습니다.


다음은 원래 질문에 대한 답변과 관련이 없지만이 답변에 대한 의견에서 요청 된 몇 가지 의견과 정보를 제공합니다.

약간의 조언

브라우저에서 Java를 배포하는 데는 함정이 있습니다. 주제에 대해 Google에서 직접 조사해 보시기 바랍니다.

현재 JavaFX 2.x 배포 모델을 기반으로 할 때 브라우저가 기본 런타임 컨테이너로 필요한 대부분의 애플리케이션 유형에서 JavaFX를 사용하는 것은 적절한 솔루션이 아닙니다.

애플리케이션의 배포 및 런타임 요구 사항을 검토합니다. 요구 사항과 JavaFX 브라우저 기반 실행 모델에 대한 지식을 기반으로 JavaFX 기술을 사용한 브라우저 기반 배포가 응용 프로그램에 적합한 메커니즘인지 결정합니다.

브라우저 임베디드 JavaFX 애플리케이션에 대한 몇 가지 잠재적 인 어려움

일부 중요한 브라우저 (예 : Internet Explorer 10 , iOS Safari 및 곧 Desktop Chrome )는 현재 Java 브라우저 플러그인에서 사용하는 NPAPI를 사용하여 플러그인 실행을 허용하지 않습니다. => 일부 대상 사용자는 애플리케이션을 사용하지 못할 수 있습니다.

브라우저 내장 애플리케이션을 사용하면 애플리케이션이 실행되는 런타임 (브라우저 + 자바 런타임 + 플러그인 인터페이스)을 완벽하게 제어 할 수 없습니다 => 처음 설치할 때 작동하던 애플리케이션이 업데이트 후 예상대로 작동하지 않을 수 있습니다. 런타임 구성 요소.

배포 대안

브라우저 기반 배포 모델이 응용 프로그램에 적합하지 않은 경우 JavaFX 응용 프로그램배포하는 다른 방법이 있습니다 (예 : WebStart, 독립 실행 형 jar 및 자체 포함 된 응용 프로그램).


JavaFX-실제로 브라우저에 배포 할 수 있습니까?

아니, 더 이상.

The answer used to be yes, as given in this answer, although even in 2013 when that was written the writing was on the wall. However, here in 2016 the answer is no, it cannot. Modern browsers essentially don't support NPAPI any longer (Firefox does for Java, but only until the end of the year), and NPAPI is required for the Java plugin.


As of 2016 you can use jpro without any browser plugin. And it even runs on mobiles.

Edit 1: The project is free for non-commercial or open source projects. A "hello world" can be found here


I found solution by chance here. what was missing in my web project.

I must add this to web.xml file :

 <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>

참고URL : https://stackoverflow.com/questions/19102000/javafx-can-it-really-be-deployed-in-a-browser

반응형