An error occured while initializing MyFaces: URI scheme is not "file"
---------------------------------------------------------------------
Key: MYFACES-2981
URL: https://issues.apache.org/jira/browse/MYFACES-2981
Project: MyFaces Core
Issue Type: Bug
Components: General
Affects Versions: 2.0.2
Environment: Weblogic 10.3, myfaces 2.0.3-Snapshot
Reporter: Ivan Sundt
Priority: Minor
in web.xml i have configured the following:
<context-param>
<param-name>org.apache.myfaces.annotation.SCAN_PACKAGES</param-name>
<param-value>com.dummy</param-value>
</context-param>
In tomcat / jetty the given package is scanned ok. But when deploying to
Weblogic I get the following stacktrace:
SEVERE: An error occured while initializing MyFaces: URI scheme is not "file"
java.lang.IllegalArgumentException: URI scheme is not "file"
at java.io.File.<init>(File.java:366)
at
org.apache.myfaces.config.annotation._PackageInfo.getClasses(_PackageInfo.java:179)
at
org.apache.myfaces.config.annotation.DefaultAnnotationProvider.packageClasses(DefaultAnnotationProvider.java:324)
at
org.apache.myfaces.config.annotation.DefaultAnnotationProvider.getAnnotatedWebInfClasses(DefaultAnnotationProvider.java:275)
at
org.apache.myfaces.config.annotation.DefaultAnnotationProvider.getAnnotatedClasses(DefaultAnnotationProvider.java:153)
at
org.apache.myfaces.config.annotation.AnnotationConfigurator.createFacesConfig(AnnotationConfigurator.java:104)
at
org.apache.myfaces.config.FacesConfigurator.feedAnnotationConfig(FacesConfigurator.java:574)
at
org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:506)
at
org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:303)
at
org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73)
at
org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:126)
at
org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:111)
at
weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at
weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)
at
weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1801)
at
weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3045)
at
weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1397)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:460)
at
weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
at
weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at
weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
at
weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
at
weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
at
weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at
weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
at
weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1267)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
at
weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
at
weblogic.application.internal.EarDeployment.activate(EarDeployment.java:54)
at
weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at
weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at
weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
at
weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
at
weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
at
weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196)
at
weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
at
weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
at
weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
at
weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
at
weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at
weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
The UrlConnection in _PackageInfo.getClasses is an instanceof
weblogic.utils.zip.ZipURLConnection
I am not sure if this is a weblogic problem or if this is a bug in myfaces, but
looking at the code in _PackageInfo.getClasses() i suspect it works in tomcat
since they unpack the archive. When I deploy to Weblogic my stuff is packaged
into an ear archive.
The error occurs in the constructor of File, around here:
if ((scheme == null) || !scheme.equalsIgnoreCase("file"))
throw new IllegalArgumentException("URI scheme is not \"file\"");
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.