Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Number of attachments :
Description
I noticed that when I build a WAR, I get a gigantic WEB-INF/lib with all my deps. This is fine for a default but maven should also support "skeleton" WARs which will be packaged within an EAR. We have EARs which package 3-4 WARs each and to have the deps duplicated within each WAR means we cannot have shared data (since the classes are loaded within each WAR's classloader, rather than by the parent EAR's classloader). It also means 80MB EARs! ![]()
It seems like two things need to happen:
1) Add a "skeleton" flag which prevents copying any dependencies to WEB-INF/lib.
2) Instead generate a META-INF/MANIFEST.MF which has a Class-Path entry which lists the relative locations of the dependencies within the parent EAR.
Fabrice has basically the same idea written down here. Starting with "- for a War..." : http://marc.theaimsgroup.com/?l=turbine-maven-user&m=112737860024530&w=2
Issue Links
- depends upon
-
PLXCOMP-22
Plexus archiver overwrites custom MANIFEST.MFs
-
- is related to
-
MECLIPSE-167
.component assumes all dependencies should be packaged in WAR
-
-
MEAR-60
Improve support for skinny war files
-
-
MEAR-17
Jar files packed in the EAR file should also be added to application.xml or manifest.mf
-
- relates to
-
MWAR-21
Need a way to include limited set of webapp's dependencies
-
Activity
| Field | Original Value | New Value |
|---|---|---|
| Attachment | ear-packaged.diff.txt [ 16819 ] |
| Link | This issue depends upon PLX-158 [ PLX-158 ] |
| Fix Version/s | 2.0-beta-4 [ 11991 ] |
| Fix Version/s | 2.0.1 [ 12000 ] | |
| Fix Version/s | 2.0.2 [ 12107 ] |
| Key | MNG-1028 |
|
| Component/s | maven-war-plugin [ 11796 ] | |
| Project | Maven 2 [ 10500 ] | Maven 2.x War Plugin [ 11150 ] |
| Affects Version/s | 2.0-beta-1 [ 11040 ] | |
| Workflow | Maven [ 39921 ] | jira [ 44177 ] |
| Fix Version/s | 2.0.3 [ 12107 ] |
| Workflow | jira [ 44177 ] | Maven [ 45108 ] |
| Attachment | ear-packaged.diff.txt [ 16819 ] |
| Workflow | Maven [ 45108 ] | Maven New [ 52446 ] |
| Link | This issue is related to MECLIPSE-167 [ MECLIPSE-167 ] |
| Assignee | Stephane Nicoll [ sni ] |
| Attachment | AbstractWarMojo.patch [ 28151 ] |
| Fix Version/s | 2.1 [ 12616 ] |
| Fix Version/s | 2.1-beta-1 [ 12616 ] | |
| Fix Version/s | 2.1 [ 15001 ] |
| Attachment | maven-war-plugin-2.1.1-NM.patch [ 57444 ] |
| Attachment | maven-war-plugin-2.1.1-NM.patch [ 57444 ] |
| Status | Open [ 1 ] | Closed [ 6 ] |
| Assignee | Stephane Nicoll [ sni ] | |
| Fix Version/s | 2.2 [ 15001 ] | |
| Resolution | Won't Fix [ 2 ] |
Patch to WarMojo to add "earPackaged" boolean. Second block is all messed up - it's just an if() statement around the artifact packaging.