[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[wtp-dev] New feature targeted for 2.0 M6: Tagging J2EE project classpath entries for publish/export
|
Title: Message
I wanted to give
everyone a heads up on a new feature that is targeted for release into the
j2ee and common component plugins during early M6 (pending review by the
relevant component team leads/members and PMC).
If you have any
questions/concerns or comments on the feature, please add to the discussion in
the bugzilla. If you are interested in trying out the feature or looking at the
code and have questions/problems with the patches, please send me an email.
-Rob
---------------------------------------------------------------------
Summary:
This feature allows the resolved contributions
of classpath entries in J2EE module projects to be mapped into the virtual
component structure for the exported/published application via the addition of a
special classpath attribute. The
primary driver for this feature was support for the contributions from
classpath containers.
Three primary use
cases are supported:
1) Mapping entries
on the classpath of a dynamic web project
-These entries are
mapped into the WEB-INF/lib folder of the exported/published web module.
-Validation ensures
that the resolved classpath entries do not clash with other archives already
mapped into WEB-INF/lib.
-The special
classpath attribute can be added/removed for these entries via the Web Libraries
tab of the J2EE Module Dependencies properties page of the web project. Each
classpath entry that can legally be mapped into WEB-INF/lib will be listed in
the dependency table and can be selected/deselected like other standard
J2EE dependencies.
Example: A
"User Library" classpath container is added to a Dynamic Web project. The user
wants all archives resolved by this classpath container added
into the WEB-INF/lib folder of the exported/published web module. This is
accomplished using this feature by opening the "Web Libraries" tab in
the "J2EE Module Dependencies" property page and selecting as a
dependency the item included in the table for this classpath
container. Confirming this selection will add a WTP-specific attribute
to the raw classpath entry which will in turn cause the
resolved contributions from that container to be mapped via the
virtual component model into the WEB-INF/lib folder of the exported/published
web module.
2) Mapping entries
on the classpath of a non-app client J2EE Java project that is referenced by an
EAR
-These classpath
entries must be exported (enforced by the validator) and they are mapped into
the root of the referencing EAR project.
-Validation ensures
that the resolved contributions do not clash with archives already mapped into
the root of the EAR.
-The MANIFEST
classpath of the project containing the mapped classpath entry is dynamically
modified in the exported/published application to reference the
resolved contributions from all mapped entries.
-The special
classpath attribute can be added/removed for these entries via the J2EE Module
Dependencies properties page of the project. Each classpath entry that can
legally be mapped into referencing project modules will be listed in the
dependency table and can be selected/deselected like other standard J2EE
dependencies.
-Once mapped, the resolved archive contributions can also be
seen in the J2EE Module Dependencies properties page of the referencing EAR
project as grayed items.
3) Mapping entries
on the classpath of a non-app client J2EE Java project that is referenced by an
dynamic web project
-These classpath
entries must be exported (enforced by the validator) and they are mapped into
the WEB-INF/lib directory of the referencing web
project.
-Validation ensures
that the resolved contributions do not clash with archives already mapped into
the WEB-INF/lib folder of the referencing web project.
-Addition/removal is perfomed as form
#2
-Once mapped, the resolved
archive contributions can also be seen on the Web Libraries tab of the
J2EE Module Dependencies properties page of the referencing web project as
grayed items.
Classpath entry
attribute details:
Raw cp entries must
have the attribute "org.eclipse.jst.component.dependency" to be mapped
(only container, library and variable entries are currently supported;
the following cp containers are disallowed: EAR libraries container, web app
libraries container, JRE container, server runtime container). If the raw
cp entry has the attribute, all resolved entries are automatically mapped (i.e.
the resolved entries do not need the attribute themselves; this allows
containers not specific to WTP to be supported). If a given container
implementation needs to map only a subset of the resolved entries, it can add a
special attribute ("org.eclipse.jst.component.dependency") to the resolved
entries that should be filtered out.
API
details:
_______________________________________________________________________
Notice: This email message, together with any attachments, may contain
information of BEA Systems, Inc., its subsidiaries and affiliated
entities, that may be confidential, proprietary, copyrighted and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.