Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 331046

Summary: Deploying a simple war file on to Virgo with Jetty fails
Product: [RT] Virgo Reporter: Chris Frost <eclipse>
Component: jettyAssignee: Project Inbox <virgo-inbox>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: eclipse, glyn.normington
Version: 2.2.0.M01   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Bug Depends on: 336955    
Bug Blocks:    
Attachments:
Description Flags
A simple war file, contains a manifest, html file and no web.xml none

Description Chris Frost CLA 2010-11-24 12:11:41 EST
Created attachment 183783 [details]
A simple war file, contains a manifest, html file and no web.xml

This would appear to be a problem with Virgo as we never get to the point of actually installing the bundle in OSGi. I believe this is a disjoin between using the extender model to deploy apps and not being able to transform the war into a bundle to deploy it for the extender in Jetty to pick it up and do the transform. The exception thrown is:

[2010-11-24 17:04:48.276] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0001I Hot deployer processing 'INITIAL' event for file 'simple-war.war'. 
[2010-11-24 17:04:48.276] fs-watcher                   o.e.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener     ApplicationConditionallyDeploying path '/Users/chrisfrost/Repos/eclipse/jetty-server/build-jetty-server/target/package-expanded/virgo-jetty-server-2.2.0.M01/pickup/simple-war.war'. 
[2010-11-24 17:04:48.281] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         DE0701E Cannot determine the artifact identity of the file '/Users/chrisfrost/Repos/eclipse/jetty-server/build-jetty-server/target/package-expanded/virgo-jetty-server-2.2.0.M01/pickup/simple-war.war'. 
[2010-11-24 17:04:48.282] fs-watcher                   System.out                                                        org.eclipse.virgo.kernel.deployer.core.DeploymentException: Cannot determine the artifact identity of the file '/Users/chrisfrost/Repos/eclipse/jetty-server/build-jetty-server/target/package-expanded/virgo-jetty-server-2.2.0.M01/pickup/simple-war.war' 

In the case of war files, we need a way of detecting them and programtically getting the relavent RFC66 impl to do the transform. This is how Gemini Web works.
Comment 1 Chris Frost CLA 2011-02-11 11:15:34 EST
This is not currently supported in Jetty and is being discussed on the Jetty dev list.
Comment 2 Chris Frost CLA 2011-02-11 11:25:01 EST
Adding a dependency on the bug to support war deployment.
Comment 3 Glyn Normington CLA 2011-05-19 07:25:52 EDT

*** This bug has been marked as a duplicate of bug 336955 ***
Comment 4 Glyn Normington CLA 2011-05-19 07:34:11 EDT
Not actually a dup of bug 336955 as when that bug is fixed, we'll still need to decide how to handle WAR files with no web.xml. Tomcat supports this but Jetty doesn't and doesn't have to as it's not required in the servlet spec. Jetty are not particularly interested in changing this behaviour. So the fix to this bug is either to generate an "empty" web.xml in Virgo or to document the behaviour as a "known issue". No real applications should be impacted, only trivial tests.
Comment 5 Chris Frost CLA 2012-05-04 12:27:21 EDT
This has been fixed in Jetty and will just work once Virgo Jetty supports War files at all.