Eclipse Projects in general and the Eclipse IDE in particular have long suffered from the inability to distribute Java runtimes. Each end-user is expected to download and install a compatible Java runtime from some other site in order for Java-based Eclipse applications to run. For the Eclipse IDE, failure to install a compatible Java runtime results in cryptic error messages that offer the user little or no guidance as to why the Eclipse application cannot be launched. Compound that with the fact that a great many users are not familiar with Java and in fact do not use the Eclipse IDE for the purpose of Java development, the overall experience for the end-user is poor.
Intellectual property restrictions, largely based on licensing concerns, have prevented the redistribution of Java runtimes by Eclipse-hosted projects. These restrictions have now been relaxed to enable the redistribution of Java runtimes acquired from approved sources. The approved sources are likely to evolve over time.
Eclipse JustJ provides fully-functional Java runtimes that can be redistributed by Eclipse Projects.
Eclipse JustJ will consume TCK-certified binaries directly from Foundation-approved sources, e.g., OpenJDK, to produce Java runtimes, i.e., Java Development Kits (JDKs) and Java Runtime Environments (JREs), in various easily-consumable forms preferred by many Eclipse Foundation Projects, including but not limited to the following:
As p2 installable units in a p2 repository that can be installed into any Eclipse IDE or Eclipse Rich Client Platform application.
As downloadable resources, e.g., *.zip or *.tar.gz, that can be unpackaged onto any host machine or can be consumed by the build of any other Eclipse Project’s distribution.
In the future, arbitrary subsets of a full JDK may be produced using jlink to be consumable by clients with a reduced set of module and executable requirements, i.e., where client footprint is of significant concern.
Eclipse JustJ provides fully-functional Java runtimes that can be redistributed by Eclipse Projects. The form in which these are made available is intended to make these easily consumable. As such, the Java runtimes will be available via p2 repositories as well as via direct packaged downloads. The links for these will evolve over time. The sources of these Java runtimes are any and all versions approved by the Eclipse Foundation for such purposes. Currently that is limited to the latest release available via https://jdk.java.net.
A number of projects have expressed interest in being able to redistribute a fully-functional Java runtime. E.g., the Eclipse IDE for C/C++ Developers from the Eclipse Packaging Project, and the Eclipse Installer from the Eclipse Oomph project.
Trademarks for Java and OpenJDK are owned by Oracle. The source code is using GNU General Public License, version 2 with OpenJDK Assembly Exception as well as GNU General Public License, version 2 with the GNU Classpath Exception therefore all artifacts derived from these sources by JustJ will use these licenses.
The source content has been approved via the following CQs:
The project is intended to follow both the release schedule of Java itself, providing regular updates as new versions of Java become available, as well as the release schedule of the Eclipse Simultaneous Release.
Eclipse JustJ will develop all the necessary infrastructure for providing easy-to-consume Java runtimes, document the usage, and adapt to the Eclipse community's evolving requirements.
The current prototype will be fleshed out to produce p2 repositories for all the supported runtime platforms.
Eclipse JustJ will also address the development and delivery of various other downloadable artifacts, e.g., *.zip and *.tar.gz of JDKs and JREs derived from these approved sources, including artifacts created by the use of jlink. The full JDK is roughly 200MB while a full JRE, as produced by jlink with compression, is roughly 90MB. A minimal JRE that satisfies the needs of the Eclipse Installer is only 48MB. Eclipse JustJ will provide access via p2 repositories and downloadable artifacts to such JDKs and JREs.