[wtp-dev] Mixing spec levels in EAR. Opinions?
I want to bring up again an issue that was discussed some time ago in
Bugzilla. It is about mixing of spec levels of EAR and included modules.
There are two bugs related:
Everybody agree that EAR with spec level X could include modules with
spec level X or lower. Example: EAR 5 can include EJB 2.1.
But there is no consensus of opinion on EAR with spec level X to include
modules with spec level higher than X. Example: EAR 1.4 to include EJB
3.0. There are two contrary opinions:
1. EAR 1.4 can include EJB 3.0
2. EAR 1.4 cannot include EJB 3.0.
The supporters of opinion 1 says that it is not forbidden by the Java EE
The supporters of opinion 2 says that it is (at least indirectly)
forbidden by the spec. This is because the contract of the Java EE spec
says that a deployment module compliant with spec level X must always be
able to deploy on an application server compliant with spec level X. Now
let's look again at our example of EAR 1.4 including EJB 3.0. EAR 1.4 is
a J2EE 1.4 deployment module and it is guaranteed by the spec that it
will deploy on all J2EE 1.4 compliant servers. But if we try to deploy
it on an J2EE 1.4 compliant app server, that is not at the same time
Java EE 5 compliant, then our deployment will fail, because of the
included EJB 3.0 module (which is Java EE 5 spec level).
At the moment there is an inconsistency in several dialogs in WTP
regarding this issue. For example the Java EE Module Dependencies
property page of an EAR 1.4 project filters Java EE 5 modules for
selection, while at the same time the project creation wizard allows a
EJB 3.0 project to be added to an existing EAR 1.4 project.
I suggest that we discuss this problem and hope we will have an
agreement for WTP 3.0.1. I invite all application server vendors
represented in this mailing list to express their support for either
opinion 1 or opinion 2.
Eclipse WTP Committer
NW C JS TOOLS JEE (BG)
SAP Labs Bulgaria
P Save a tree - please do not print this email unless you really need