• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. OpenJFX
  4. Building OpenJFX

Page History

Versions Compared

Old Version 36

changes.mady.by.user Steve Northover

Saved on Jun 27, 2013

compared with

New Version 37

changes.mady.by.user Steve Northover

Saved on Jun 29, 2013

  • Previous Change: Difference between versions 35 and 36
  • Next Change: Difference between versions 37 and 38
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

JavaFX is bundled with the JDK as an extension.  The jfxrt.jar is located in the extension directory called 'ext' where Java is installed.  You must remove it from this directory for the IDE's to work properly.  The issue is this:  If jfxrt.jar is in the extension directory, it will get seen before the code in your IDE.  This means you won't be running or testing anything.

You  You can make a copy of your current JDK, remove the jar and tell your IDE to use this JDK instead.  Another strategy is to keep the jar around but move it into a sibling 'ext2' directly so that paths can easily be changed manually to use it and you can restore it when necessary.  Regardless, if you do not remove jfxrt.jar, you will get strange errors.

IntelliJ

quickly when necessary.  Regardless, if you do not remove jfxrt.jar, you will get strange errors.

Another strategy is to copy it to an artifacts cache:

  • cd <PATH TO JFX>
  • mkdir -p artifacts/sdk/rt/lib/ext
  • cp <PATH TO JDK>jre/lib/ext/jfxrt.jar artifacts/sdk/rt/lib/ext

IntelliJ

IntelliJ is a popular IDE that supports Java development.  An IntelliJ project has been created for you that you need to open.  The steps to use IntelliJ are:

  • Open the IntelliJ Project
  • Add jfxrt.jar to the Class Path
  • Export the Jar to the other modules
  • Make 
  • Run sample code
  • Run sample code with grade built shared libraries (optional)

Open the IntelliJ Project

<IMAGE>

Add jfxrt.jar to the Class Path

Project Structure->Modules->buildSrc->Dependencies->+->Jars or Directories

<IMAGE>

Export the Jar to the other modules

<IMAGE>

Make

Build->Make Project

<IMAGE>

Run sample code

<IMAGE>

Run sample code with grade built shared libraries (optional)

//TODO - explain how to hook up the shared libraries in the run dialog//TODO - document support

Eclipse

//TODO - document support

...

Many commiters are using NetBeans to develop Java and native code.  NetBeans projects have been configured for both.  Native projects in NetBeans are currently not configured to build using either Make or gradle, however ant build works in NetBeans and will build the classes and jar files needed for the IDE.
Here are the steps to use NetBeans:
  • Edit netbeans.conf
  • Invoke NetBeans
  • Add the JDK8 JDK8 Platform
  • Import NetBeans projects
  • Rebuild
  • Run sample code
  • Run sample code with grade built shared libraries (optional)

Edit netbeans.conf

We have found the nightly versions of NetBeans to be unstable under JDK8, but fine otherwise.  Further, NetBeans needs to be told not to report errors when private JDK classes referenced.  The netbeans.conf file is located in the etc directory of your NetBeans install.  You will edit netbeans_default_options and netbeans_jdkhome.

  • Change netbeans_default_options to remove "-J-ea" and add "-J-da -J-DCachingArchiveProvider.disableCtSym=true".  It does not hurt to increase memory using "-J-Xmx1024m".
  • Change netbeans_jdkhome to point to a JDK7 JVM.

Here is a sample file from the Mac.  The Windows and Linux default options might be a bit different.

Code Block
# Options used by NetBeans launcher by default:
# (can be overridden by explicit command line switches)
#
# Note that default -Xmx and -XX:MaxPermSize are selected for you automatically.
# You can find these values in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx or
# -J-XX:MaxPermSize= here or on the command line.
#
# If you specify the heap size explicitly, you may also want to enable
# Concurrent Mark & Sweep garbage collector.
# (see http://wiki.netbeans.org/FaqGCPauses)
#
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Xmx1024m -J-da -J-DCachingArchiveProvider.disableCtSym=true -J-Dnetbeans.logger.console=true -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes"
# Default location of JDK:
# (set by installer or commented out if launcher should decide)
#
# It can be overridden on command line by using --jdkhome <dir>
# Be careful when changing jdkhome.
# There are two NetBeans launchers for Windows (32-bit and 64-bit) and
# installer points to one of those in the NetBeans application shortcut 
# based on the Java version selected at installation time.
#
netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"

Invoke NetBeans

Note that before you invoke NetBeans, you may need to clear your old defaults and start with a fresh NetBeans install or you might get errors.

Add the JDK8

Configuration

Platform

Invoke Tools->Java Platforms

Import the NetBeans Projects

Open Project... (you may need to resolve missing junit jars, don't open web or builders for now)

Rebuild

This might take quite a long time depending on how fast your machine it.  There should be no red marks on any of the projects.

Run Sample Code

Here is some sample code that was hooked up to use the base, graphics and controls projects. When saved, these projects were built by the IDE and the same code executed using the source in the IDE.

Run Sample Code with gradle built shared libraries

//TODO - explain how to hook up the shared libraries in the run dialog

...

Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 392, "requestCorrelationId": "4ce44243a626cfec"}