[weld-issues] [JBoss JIRA] Issue Comment Edited: (WELD-979) Weld 1.1.3-SNAPSHOT and 1.1.2.AS7 fail on JBoss AS 7 with FileNotFoundException on an existing file

Geoffrey De Smet (JIRA) jira-events at lists.jboss.org
Mon Oct 3 05:05:26 EDT 2011


    [ https://issues.jboss.org/browse/WELD-979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12631725#comment-12631725 ] 

Geoffrey De Smet edited comment on WELD-979 at 10/3/11 5:04 AM:
----------------------------------------------------------------

The zip exception is trying to access a file that doesn't exist (both with weld 1.1.2.AS7 and 1.1.2.Final):
{code}
  /content/guvnor-webapp-5.4.0-SNAPSHOT.war/WEB-INF/lib/seam-transaction-3.1.0.Beta2.jar
{code}

The problem is in org.jboss.weld.environment.servlet.deployment.URLScanner#scanResources:
it does:
{code}
Enumeration<URL> urlEnum = classLoader.getResources(resourceName);
String urlPath = urlEnum.nextElement().getFile();
{code}
and urlPath is "/content/guvnor-webapp-5.4.0-SNAPSHOT.war/WEB-INF/lib/seam-transaction-api-3.1.0.Beta2.jar/META-INF/beans.xml"
because the classloader is an instance of org.jboss.modules.ModuleClassLoader.


The rest of the problem is in org.jboss.weld.environment.servlet.deployment.URLScanner#handle which does:
{code}
  File file = new File(urlPath);
{code}
  which boils down to a non existing file:
{code}
  new File("/content/guvnor-webapp-5.4.0-SNAPSHOT.war/WEB-INF/lib/seam-transaction-3.1.0.Beta2.jar");
{code}

      was (Author: ge0ffrey):
    The zip exception is trying to access a file that doesn't exist (both with weld 1.1.2.AS7 and 1.1.2.Final):
{code}
  /content/guvnor-webapp-5.4.0-SNAPSHOT.war/WEB-INF/lib/seam-transaction-3.1.0.Beta2.jar
{code}

The problem is in org.jboss.weld.environment.servlet.deployment.URLScanner#handle which does:
{code}
  File file = new File(urlPath);
{code}
  which boils down to:
{code}
  new File("/content/guvnor-webapp-5.4.0-SNAPSHOT.war/WEB-INF/lib/seam-transaction-3.1.0.Beta2.jar");
{code}
because urlPath is not an URL!
  
> Weld 1.1.3-SNAPSHOT and 1.1.2.AS7 fail on JBoss AS 7 with FileNotFoundException on an existing file
> ---------------------------------------------------------------------------------------------------
>
>                 Key: WELD-979
>                 URL: https://issues.jboss.org/browse/WELD-979
>             Project: Weld
>          Issue Type: Bug
>            Reporter: Geoffrey De Smet
>            Priority: Blocker
>
> The file WEB-INF/lib/seam-transaction-3.1.0.Beta2.jar exists in my war, but when I deploy my webapp to as7, weld fails with an exception claiming that it doesn't exist:
> {code}
> 09:23:58,398 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/guvnor-webapp-5.4.0-SNAPSHOT]] (MSC service thread 1-5) Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener: java.lang.RuntimeException: Error handling file /content/guvnor-webapp-5.4.0-SNAPSHOT.war/WEB-INF/lib/seam-transaction-3.1.0.Beta2.jar
> 	at org.jboss.weld.environment.servlet.deployment.VFSURLScanner.handleArchiveByFile(VFSURLScanner.java:77) [weld-servlet-core-1.1.2.AS7.jar:]
> 	at org.jboss.weld.environment.servlet.deployment.URLScanner.handle(URLScanner.java:158) [weld-servlet-core-1.1.2.AS7.jar:]
> 	at org.jboss.weld.environment.servlet.deployment.URLScanner.scanResources(URLScanner.java:139) [weld-servlet-core-1.1.2.AS7.jar:]
> 	at org.jboss.weld.environment.servlet.deployment.WebAppBeanDeploymentArchive.<init>(WebAppBeanDeploymentArchive.java:62) [weld-servlet-core-1.1.2.AS7.jar:]
> 	at org.jboss.weld.environment.servlet.deployment.ServletDeployment.createWebAppBeanDeploymentArchive(ServletDeployment.java:34) [weld-servlet-core-1.1.2.AS7.jar:]
> 	at org.jboss.weld.environment.servlet.deployment.ServletDeployment.<init>(ServletDeployment.java:25) [weld-servlet-core-1.1.2.AS7.jar:]
> 	at org.jboss.weld.environment.servlet.Listener.createServletDeployment(Listener.java:111) [weld-servlet-core-1.1.2.AS7.jar:]
> 	at org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:158) [weld-servlet-core-1.1.2.AS7.jar:]
> 	at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3368) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> 	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3821) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> 	at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.1.Final.jar:7.0.1.Final]
> 	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765) [jboss-msc-1.0.0.GA.jar:1.0.0.GA]
> 	at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291) [jboss-msc-1.0.0.GA.jar:1.0.0.GA]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26]
> 	at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
> Caused by: java.io.FileNotFoundException: seam-transaction-3.1.0.Beta2.jar doesn't exist. (rootURI: file:/content/guvnor-webapp-5.4.0-SNAPSHOT.war/WEB-INF/lib/seam-transaction-3.1.0.Beta2.jar, file: /content/guvnor-webapp-5.4.0-SNAPSHOT.war/WEB-INF/lib/seam-transaction-3.1.0.Beta2.jar)
> 	at org.jboss.virtual.plugins.context.file.FileSystemContext.getRoot(FileSystemContext.java:213) [jboss-vfs-2.0.0.GA.jar:]
> 	at org.jboss.virtual.VFS.getRoot(VFS.java:259) [jboss-vfs-2.0.0.GA.jar:]
> 	at org.jboss.virtual.VFS.getRoot(VFS.java:146) [jboss-vfs-2.0.0.GA.jar:]
> 	at org.jboss.weld.environment.servlet.deployment.VFSURLScanner.handleArchiveByFile(VFSURLScanner.java:52) [weld-servlet-core-1.1.2.AS7.jar:]
> 	... 15 more
> {code}
> Tested with weld 1.1.3-SNAPSHOT and weld 1.1.2.AS7 with jboss AS 7.0.1.
> The webapp deploys correctly to tomcat 6
> and with seam 2 it deployed correctly to jboss as 7.0.1 too.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list