Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EMF/EMF 2.3/JVM Requirements
This page is the result of discussion on the cross-project-issues-dev mailing list in this thread.
Summary
- EMF 2.3.0 and the projects that depend on it will not be available (ie., will not run) in Europa or with Eclipse 3.3 if Java 1.4 is used as the underlying JRE. If your environment has more than one JDK or JRE available, you can tell Eclipse to use a specific one like this (with optional -vmargs too):
/opt/eclipse3.3/eclipse -vm /opt/sun-java2-5.0/bin/java -vmargs -Xms256M -Xmx512M c:\eclipse3.3\eclipse.exe -vm c:\sun-java2-5.0\bin\java.exe -vmargs -Xms256M -Xmx512M
- If a bundle is compiled with Java 1.4 or with source compatibility set to Java 1.4, it will run without any problems with Eclipse 3.3.0, EMF 2.3.0 and Java 5.0.
- To run your code with Java 1.4, you will need a previous version of EMF. As of this writing, the latest EMF release is 2.2.1 (available in Callisto) and we are currently fixing important bugs in the 2.2.2 maintenance stream, to be available for Callisto's winter maintenance.
Additional
- Code compiled with Java 1.4 runs on Java 5.0 without any problem.
- Code compiled with Java 5.0 does not run with Java 1.4. Even
HelloWorld.java
has such limitation.
- A bundle that has its environment set to require Java 5.0 is not activated when Eclipse is executed with Java 1.4.
- EMF 2.3.0 is compiled with Java 5.0 and all its bundles require Java 5.0.
- EMF 2.3.0 cannot be compiled with Java 1.4 due to the extensive use of Java 5.0 features.
- EMF 2.3.0 is binary compatible with our latest release (EMF 2.2.x). Besides our own tests, we heard this from developers of Eclipse projects and commercial products. This means that adopting EMF 2.3.0 is not a problem as long as the code is not recompiled. We also verified that EMF 2.3.0 does not break anything if the source compatibility of projects are set to Java 1.4.
- EMF 2.3.0 can generate code targeting both Java 1.4 and Java 5.0.