YouTube: EJDK, Raspberry Pi, and NetBeans IDE 8

The EJDK (embedded Java development kit) is a new innovation in JDK 8, enabling Java SE Embedded developers to create customized JREs using the JRECreate tool. It was introduced in the blogosphere in March this year, here, by Jim Connors from Oracle.

NetBeans IDE 8 provides out of the box tools (i.e., no need to install any plugins for this) to let you create customized JREs for embedded devices by integrating directly with the JRECreate tool. Not only that, NetBeans IDE 8 can also deploy the JRE to the embedded device, e.g., the Raspberry Pi. That means you can forget command line tools like ssh, while you can also avoid wasting time to learn how JRECreate works, since all that is delegated to NetBeans IDE 8.

In about 10 minutes, all the above pieces are put together, while you'll also learn how to create, debug, and profile applications on the Raspberry Pi:

Feedback welcome!


Very nice, till today i was doing this all by hand with remote console. It is very handy, if someone has (as I) many embedded development platforms and it's easy to forget what was on which device installed. Now everything is inside netbeans.

Thanks for this tip !

Posted by slawek mikula on July 06, 2014 at 11:50 PM PDT #

Sounds like you're exactly the person we made this feature for, Slawek!

Posted by Geertjan on July 07, 2014 at 08:57 AM PDT #

Will this same protocol work on the Beaglebone Black (which for my needs is a more useful embedded computer)?

Posted by Bruce Johnson on July 08, 2014 at 11:41 AM PDT #

If it doesn't, Bruce, let me know! (And also if it does.)

Posted by Geertjan on July 08, 2014 at 12:40 PM PDT #

This may be fun for demos, but remember if you want to put anything you build into production, you will have to buy a licence from Oracle.

Posted by Neil Bartlett on July 09, 2014 at 03:26 AM PDT #

That's a bit like saying: "Brazil may have lost 1-7 to Germany, but remember that the music there is great." I.e., the first clause has nothing whatsoever to do with the second clause, does it?

Posted by Geertjan on July 09, 2014 at 04:03 AM PDT #

Hi Geertjan,

thanks for the Tutorial. It's made very clear and precise but I still have problems to create the remote Java on the Raspberry. I had to download this file (ejdk-8u6-fcs-b23-linux-arm-vfp-hflt-12_jun_2014.tar.gz) because the one you used isn't available anymore. I'm also using Raspbian (clean, fresh installation) and I use the exact same settings as shown in the tutorial (Compact3, client, fx:graphics and fx:controls). After clicking on "create" it takes a while and I can see the jre folder on my Pi is populated. So far no error messages. But after clicking "Finish", I see some messages scrolling along and then they vanish. The I see a red "Could not connect to remote Java SE Platform. Please check your settings." inside the Add Java Platform dialog. Unfortunately I can't find the log of the error to dig deeper.

Some more information:
1.: on the Raspberry, there is a file org-netbeans-modules-java-j2seembedded-probe.jar created in the NetBeansProjects folder.
2.: when I run ./jre/bin/java I get "Ungültiger Maschinenbefehl" (something like invalid Machine Code)
3.: I did also tried the ejdk-8u6-fcs-b23-linux-arm-vfp-sflt-12_jun_2014.tar.gz but then I get an error during uploading of JRE

To me, this seems to be the wrong ejdk. Am I right?

Best regards

Posted by guest on July 13, 2014 at 06:26 AM PDT #

Exact same problem as above "guest". The message printed to output very briefly by NetBeans is also "Illegal Instruction", when running the probe jar.

Posted by guest on July 14, 2014 at 03:47 AM PDT #

The log file is in the user directory of NetBeans IDE ( -- please send it to me at geertjan dot wielenga at oracle dot com if you encounter this problem (or another problem).

Posted by Geertjan on July 14, 2014 at 06:50 AM PDT #

Hi Geertjan,

I've emailed you log file. Have you tried the current ejdk from the oracle website yourself?

best regards


Posted by Andreas Lüdtke on July 14, 2014 at 01:03 PM PDT #

Hi Geertjan,

have you tried the actual ejdk yourself?

Best regards


Posted by guest on July 14, 2014 at 01:06 PM PDT #

When you say 'actual', do you mean 'current', i.e., the latest version of the EJDK? Are you asking me whether I have used the latest EJDK?

Posted by Geertjan on July 14, 2014 at 02:57 PM PDT #

Hi Geertjan,

yes, I meant the latest version (ejdk-8u6-fcs-b23-linux-arm-vfp-hflt-12_jun_2014.tar.gz) as I already mentioned in my first post.

Posted by Andreas Lüdtke on July 15, 2014 at 02:04 AM PDT #

Are you going to send the log file? Are you going to reply to the mail I sent you? If so, can we stop communicating via my blog?

Posted by Geertjan on July 15, 2014 at 02:05 AM PDT #

I have exactly the same issue as mentioned before ("Illegal Instruction"), if using the current Embedded SE 8u6 from Oracle.

Did you reviewed the logfile yet, do you have a solution for this more or less weird behaviour of the built jre?

From my point of view this does not happend, if using the ejdk-8 b123 (march 2014).

Posted by guest on July 15, 2014 at 08:38 AM PDT #

Hi Geertjan,

I did send the log file yesterday to the given e-mail address and I replied today to your e-mail from yesterday 23:55h (also with the log file attached).

What else can I do? Did you checked your spam folder?

Posted by Andreas Lüdtke on July 15, 2014 at 08:44 AM PDT #

Didn't receive any e-mail from you. Not in spam, nowhere. Maybe send to instead. But, I have been able to reproduce the problem with the latest build of Java SE Embedded. Will create an issue for it and post an update to that here. However, if you click the link to EJDK above, you'll end up here, with the same build as I used before, which works fine:

Posted by Geertjan on July 15, 2014 at 09:00 AM PDT #

Made it a P1 issue (i.e., highest priority), follow it here:

Posted by Geertjan on July 15, 2014 at 09:38 AM PDT #

Hi Geertjan,
I've just read Tomas Zezulas comment

Does that mean, that Oracle no longer supports the Raspberry Pi platform concerning ejdk-8u6 and newer?

Are there any reasons to explain this in detail to others?

And are there alternatives except using the old ejdk-8?

The new Raspberry Pi B+ also uses the "old" Broadcom chip, so there is no solution by simply buying the new Pis.

Posted by guest on July 16, 2014 at 07:25 AM PDT #

Just a note:

I finally found the well-documented information about this here:

Note that Oracle Java SE Embedded binaries are no longer provided for ARM v6 as of Release 8 Update 6, in order to take advantage of the size reduction and speed improvements that Thumb2 offers. Use JDK for ARM if you need ARM v6 support.

It does not make me happy, but for there is enough information to explain this to others, this should be at least "acceptable" ;-)

Posted by guest on July 17, 2014 at 02:45 AM PDT #

i am getting an error of "Could not connect to remote java SE Platform.Please check your settings"

Posted by Sandy on July 28, 2014 at 04:56 AM PDT #

Use "JDK 8 for ARM" instead of "Java SE Embedded":

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install oracle-java8-jdk

Then you can register that in NetBeans using the path on the device to where the JDK 8 for ARM is found after the above process completes. Means that you're not using the 'jrecreate' tool.

Posted by Geertjan on August 07, 2014 at 02:17 AM PDT #

"an error during creating of jre occurred.please check JRE Create Location and try again " this wil show when im creating the remote JRE path

Posted by Ayesh Kahawala on October 01, 2014 at 10:49 AM PDT #

"Could not connect to remote Java SE Platform. Please check your settings."
i got an error msg like this

Posted by Ayesh Kahawala on October 01, 2014 at 11:58 AM PDT #

I used the last version by Geertjan,,
and it worked perfectly. My computer is running Linux OS and my raspberry wiffi this network.
However when I ran the latest version of ejdk Jun did not work.

Posted by User on October 20, 2014 at 06:00 PM PDT #

I have this error
"Could not connect to remote Java SE Platform. Please check your settings."

bash line1 :illegal instruction
'/home/pi/jre//bin/java' -jar org-netbeans-modules.........

in fact a second '/' has bin added after jre
I don't see where i can modify this.

Posted by guest on December 10, 2014 at 11:40 PM PST #

Apparently, EJDK is still broken no matter what "solutions" people offer. Still get "Could not connect to remote Java SE Platform. Please check your settings."

Posted by Paul on December 25, 2014 at 10:11 PM PST #

Stop using EJDK. Use JDK 8 for ARM instead:

Posted by Geertjan on December 26, 2014 at 01:35 AM PST #

First of all, thanks for the excellent explanation of "Raspberry Pi, and NetBeans IDE 8" as seen, so done, It works oke!
Unfortunately it was intended my created GUI application to work on the Raspberry Pi, but it don't works.
I get the errors (error: JFrame is not available in profile 'compact3'
public class scrHfd extends javax.swing.JFrame) and so on for other Jframe items
What can I change , or is it not possible to use the GUI with a JRE platform ?

Posted by guest on March 20, 2015 at 01:41 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« March 2015