OpenEmbedded/Yocto Project layer for Java support

This layer provides support for Java for use with OpenEmbedded and/or
Yocto Project build systems.

This layer depends on:

URI: git://git.openembedded.org/openembedded-core
branch: master
revision: HEAD

URI: git://git.openembedded.org/meta-openembedded
branch: master
revision: HEAD

For use with a specific Yocto Project release please refer to the corresponding
git branches.


To contribute to this layer you should submit the patches for review to the
mailing list (openembedded-devel@lists.openembedded.org).

Please refer to:

for some useful guidelines to be followed when submitting patches.

Mailing list:


Source code:


When creating single patches, please use something like:

    git format-patch -M -s --subject-prefix='meta-java][PATCH' -1

When creating a patch series, please add a cover letter describing it shortly.
Therefore use something like:

    git format-patch -M -s --cover-letter --subject-prefix='meta-java][PATCH' origin

When sending patches, please use something like:

    git send-email --to openembedded-devel@lists.openembedded.org 

Main layer maintainers:

  Henning Heinold 
  Maxin John 
  Otavio Salvador 
  Richard Leitner 


The meta-java layer may be tested using oeqa's runtime image tests. The easiest
way is to add the following configuration to your local.conf:


Then you should be able to use the open{jre,jdk}-{7,8}-test-image recipes.
Furthermore you could also include the tests provided in lib/oeqa/runtime/cases
into your test image. More information on image testing is available at:


Usage instructions

You should define at least the following variables in a distro include file or local.conf

# Possible provider: cacao-initial-native and jamvm-initial-native
PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"

# Possible provider: cacao-native and jamvm-native
PREFERRED_PROVIDER_virtual/java-native = "jamvm-native"

# Optional since there is only one provider for now
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"

Simply rely on openjdk-7-jre, openjdk-7, openjdk-8 or openjre-8.

For conf/bblayers.conf you have to add

  path_to_source/meta-openembedded/meta-oe \
  path_to_source/sources/meta-java \

Please note that libstdc++ static is needed on your host to compile icedtea7-native
(install libstdc++-static on a Fedora).

For debian-based distributions you need the libstdc++6-$compilerversion-dev package.