JFX build and deployment - squeaking wheel
danno.ferrin at shemnon.com
Sat Nov 10 00:09:54 PST 2012
The compact profiles have their own copied jdk build at
Here is the current (as of the mailing) list of included packages and
Rather than going line by line in your list, I would recommend reading that
file. There are some java.beans classes cherry picked for Profile 1, but
most of the rest of the javax stuff you mentioned is profile 3/4 (with 4
being the full JDK). But java.util.whatever seems to all be in profile 1.
On Fri, Nov 9, 2012 at 4:01 PM, Florian Brunner <fbrunnerlist at gmx.ch> wrote:
> Hi Bob,
> As I understand the profiles/ project Jigsaw in the context of JavaFX is
> it to
> makte it easier to port Java + JavaFX to other platforms especially by
> omitting AWT. So I understand that the following packages are omitted:
> javax.swing.* (dependencies to AWT)
> javax.imagio.* (dependencies to AWT)
> But neither are any of the following packages mentioned:
> Now, I understand that the java.beans.PropertyEditor related classes cause
> issue because of the dependency to AWT, but the JEP 161 states that some
> packages have to be split up anyway (which will probably cause issues with
> OSGi based library, though). And Java Beans patterns (and e.g.
> PropertyChangeListener) are used at many places in applications and
> I think there should be a profile (maybe Compact3?), which includes
> except AWT related classes to allow maximum reuse and portability of
> 3rd party libraries, which make the Java ecosystem so rich, so they can be
> used in JavaFX applications.
> And another question:
> The JEP 161 states:
> "If a package listed in a lower Profile in this table has subpackages then
> those subpackages are included in that Profile unless they are identified
> members of some higher Profile. Thus the java.lang.reflect package, e.g.,
> is in
> the Compact1 Profile, but java.lang.management is in the Compact3 Profile."
> But the profile Compact1 states explicitly both java.util and
> What about the following packages?
> I think it would be clearer if all subpackages were listed explicitly.
> - Florian
> Am Donnerstag, 8. November 2012, 16.11:31 schrieb Bob Vandette:
> > There have been some questions on this list about Jigsaw, compact
> > embedded, minimal VMs and the JRE customization tool called jrecreate.
> > Richard asked me to jump in to try to clear up any confusion.
> > Here goes ....
> > The Java Modularity Project (project Jigsaw) that was originally planned
> > JDK8 was deferred to JDK9. The Java Embedded team (I'm the lead) was
> > expecting to use Jigsaw in order to provide smaller customizable Java
> > runtimes for embedded devices. Lacking this new functionality, we
> > to propose a simpler alternate plan that would enhance the JDK8
> > specification to allow the distribution of a small set of profiles that
> > subsets of the full Java runtime. These are called Compact Profiles. We
> > have proposed three compact profiles. A talk and presentation that I
> > at JavaOne describes these profiles.
> > BE54064406AC304AD59/CON4538_Vandette.pdf
> > The Java Enhancement Proposal (JEP) for this work is here:
> > http://openjdk.java.net/jeps/161
> > The openjdk repository that implements our current prototype is located
> > here:
> > http://hg.openjdk.java.net/jdk8/profiles
> > The mailing list that discusses the profiles is
> > build-infra-dev at openjdk.java.net since the creation of the new profiles
> > done using the new configure based JDK build system.
> > This repository allows you to do a build that generates the full JRE, JDK
> > but in addition produces three additional image targets (compact1,
> > compact2, and compact3).
> > In order to achieve the smallest Java runtime for embedded (our goal is
> > around 10MB), we have applied changes to Hotspot that allow us to build a
> > small VM (2-3MB) with reduced functionality. The small VM (minimal) +
> > compact1 profile goal we've set is around 10MB. We're at 11MB today.
> > In addition to the profile bundles and the small VM, we have a reduced
> > Embedded FX stack that we'll run on embedded devices such as the
> > RaspberryPi. This FX Embedded stack is a compatible FX implementation
> > without media and webkit support. The goal for this added stack is 6MB.
> > The jrecreate tool that some of you have asked about is not a java
> > tool. It's main purpose is to assist the embedded developer in
> > Java runtimes. It allows the developer to select which profile, VM,
> > debugging options, compression, security and FX options. It does not
> > the full JRE to produce the compact profile. The jrecreate will be
> > with the three compact profile binaries. It simply copies these profiles
> > and applies some additional massaging based on the selected options.
> > We have already pushed the minimal VM changes to JDK8 hotspot and will be
> > open sourcing the compact profile changes since they will be a standard
> > feature of JDK8 (independent of embedded). The current profile changes
> > our project repository are only functional for Linux x86.
> > We certainly recognize the value that small Java runtimes + reduced FX
> > have on Java applications published on Web App stores, but the current
> > immediate plan is that the jrecreate tool is only going to be available
> > with our embedded binary downloads since that's where it's needed most.
> > I've had some discussions with our Netbeans team to see what it will take
> > to make Netbeans profile aware. This might be a good way of taking
> > advantage of profiles, reduced FX for producing smaller applications for
> > distribution.
> > I hope this help,
> > Bob.
There is nothing that will hold me back. I know who I am....
I remember wher I came from, and I feel stronger for knowing.
Zane, Ninja of Ice. Ninjago S01E07
More information about the openjfx-dev