How do I use JavaFX 11 in Eclipse?

后端 未结 3 927
花落未央
花落未央 2021-01-02 04:46

I have some trouble with JavaFX. I wanted to start creating apps, desktop or mobile, at least something. So I found out I could use the JavaFX library for it. But as far as

3条回答
  •  清酒与你
    2021-01-02 04:59

    tl;dr

    To most easily get started with JavaFX, use the Oracle-branded release of Java 8 where JavaFX 8 is bundled and easily available.

    For technical details, see Using JavaFX in JRE 8. Look to the Linked and Related sections of the web page for many related postings.

    Java Modularization

    The Java platform is in the process of a sweeping reformulation, known as modularization.

    Previously, Java SE (standard edition) was one big monolith of software, ever-growing with more and more being added. No single app ever uses all of it.

    A decision was taken to break Java SE into many separate chunks to be defined formally as “modules”. One major benefit is that an app may be bundled with a Java SE runtime composed of only the modules actually needed, with unused modules omitted. See the jlink tool.

    As a byproduct of this modularization, some older and less-popular parts such as CORBA are being dropped, to no longer be carried as a standard part of Java (though offered for other parties to pick up if they so decide). Similarly, some Java EE related modules will be removed from Java SE and turned over to the Jakarta EE project, logically a more appropriate home. See JEP 320: Remove the Java EE and CORBA Modules.

    The process of modularization and reorganization is a years-long ongoing effort. Much was done in Java 9 and Java 10. Some of the final steps are being done in Java 11.

    One of these steps being taken in Java 11 is to cease bundling JavaFX with Java SE. See:

    • The Future work section of the JavaFX Wikipedia page
    • The 2018-03 Oracle blog post, The Future of JavaFX and Other Java Client Roadmap Updates
    • The 2018-03 Oracle white paper, Java Client Roadmap Update
    • The curse, May you live in interesting times

    So getting started with JavaFX development right now will be easiest if done with Java 8. The JavaFX libraries are bundled in with Java 8. And you need not learn about modularization, nor need to wrestle your IDE (such as Eclipse) and project settings to recognize modules. If you do not have a pressing need to use the very last versions of Java or JavaFX, stick with 8 until the modularization process and tools gets smoothed out, likely next year 2019.

    If you insist on using Java 11, you need to learn about:

    • Java modularization in general, including the module-info.java file.
    • Updating your IDE (Eclipse, etc.) and other tools to later versions supporting both modularization and Java 11.
    • Configuring modules in your build tools, such as Maven or Gradle
    • Configuring modules in your IDE, such as Eclipse
    • Downloading JavaFX modules, or using a dependency manager such as Maven to do so

    Those points are too much to cover here, and have been covered in many other Questions on Stack Overflow. Besides, Java 11 has not yet been formally released.

    Perhaps this article will help, How to Create a Project With JavaFX on JDK 11.

    To learn much more about Java modularization, read the blog and the book, The Java Module System, by Nicolai Parlog.

提交回复
热议问题