Hi,
Did a little debugging, and found out the following.
The reason for the issue is that
javax.servlet.ServletContext.class.getResource("{jsp/}resources/" + url)
returns null for some occasions. If the requested resource is coming
via javax.servlet_3.0.0.v201112011016.jar (ex. resources/XMLSchema.dtd)
then the resource gets loaded successfully. But if the resource is coming
via a different bundle (ex. jsp/resources/web-jsptaglibrary_1_1.dtd
resource in javax.servlet.jsp_2.2.0.v201112011158.jar), then the resource
cannot be located.
This is probably because the classloader of javax.servlet.ServletContext is
the javax.servlet_xxx bundle classloader. So, it can find the resources in
the javax.servlet_xxx bundle but not in other bundles as I see. Any ideas
how to fix this?
Following is the exact code -
private static String idFor(String url) {
URL id = *ServletContext*.class.getResource("*resources*/" + url);
if (id == null) {
id = *ServletContext*.class.getResource("*jsp/resources*/" +
url);
}
return id.toExternalForm();
}
Thanks,
KasunG
On Tue, Mar 18, 2014 at 12:45 AM, Supun Malinga <[email protected]> wrote:
> Hi,
>
> Please check if the extended classes in kernel are upto date as well.
>
> thanks,
>
>
> On Mon, Mar 17, 2014 at 3:04 PM, Kasun Gajasinghe <[email protected]> wrote:
>
>> Hi Sagara,
>>
>> Carbon fails to start with the Tomcat 7.0.52 with the below error. From
>> the looks of it, this has something to do with processing the web.xml. I
>> will fix this issue before merging the jasper/el tomcat changes.
>>
>>
>> JAVA_HOME environment variable is set to /usr/lib/jvm/java-6-sun
>> CARBON_HOME environment variable is set to
>> /wso2/git-repos/430-kernel/distribution/product/modules/distribution/target/wso2carbon-4.3.0-SNAPSHOT
>> OSGi console has been enabled with options: -console
>> osgi> [2014-03-18 00:12:33,172] INFO
>> {org.wso2.carbon.core.internal.CarbonCoreActivator} - Starting WSO2
>> Carbon...
>> [2014-03-18 00:12:33,174] INFO
>> {org.wso2.carbon.core.internal.CarbonCoreActivator} - Operating System :
>> Linux 3.9.10-030910-generic, amd64
>> [2014-03-18 00:12:33,174] INFO
>> {org.wso2.carbon.core.internal.CarbonCoreActivator} - Java Home :
>> /usr/lib/jvm/jdk1.6.0_45/jre
>> [2014-03-18 00:12:33,174] INFO
>> {org.wso2.carbon.core.internal.CarbonCoreActivator} - Java Version :
>> 1.6.0_45
>> [2014-03-18 00:12:33,174] INFO
>> {org.wso2.carbon.core.internal.CarbonCoreActivator} - Java VM :
>> Java HotSpot(TM) 64-Bit Server VM 20.45-b01,Sun Microsystems Inc.
>> [2014-03-18 00:12:33,175] INFO
>> {org.wso2.carbon.core.internal.CarbonCoreActivator} - Carbon Home :
>> /wso2/git-repos/430-kernel/distribution/product/modules/distribution/target/wso2carbon-4.3.0-SNAPSHOT
>> [2014-03-18 00:12:33,175] INFO
>> {org.wso2.carbon.core.internal.CarbonCoreActivator} - Java Temp Dir :
>> /wso2/git-repos/430-kernel/distribution/product/modules/distribution/target/wso2carbon-4.3.0-SNAPSHOT/tmp
>> [2014-03-18 00:12:33,175] INFO
>> {org.wso2.carbon.core.internal.CarbonCoreActivator} - User :
>> kasun, en-US, Asia/Colombo
>> [2014-03-18 00:12:33,323] WARN
>> {org.wso2.carbon.core.bootup.validator.util.ValidationResultPrinter} -
>> Carbon is configured to use the default keystore (wso2carbon.jks). To
>> maximize security when deploying to a production environment, configure a
>> new keystore with a unique password in the production server profile.
>> [2014-03-18 00:12:37,423] ERROR {org.apache.catalina.core.ContainerBase}
>> - A child container failed during start
>> java.util.concurrent.ExecutionException:
>> java.lang.ExceptionInInitializerError
>> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
>> at java.util.concurrent.FutureTask.get(FutureTask.java:83)
>> at
>> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
>> at
>> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> at
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
>> at
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>> at java.lang.Thread.run(Thread.java:662)
>> Caused by: java.lang.ExceptionInInitializerError
>> at
>> org.apache.catalina.startup.ContextConfig.createWebXmlDigester(ContextConfig.java:515)
>> at
>> org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:836)
>> at
>> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:382)
>> at
>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>> at
>> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>> at
>> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
>> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
>> ... 7 more
>> Caused by: java.lang.NullPointerException
>> at
>> org.apache.tomcat.util.descriptor.DigesterFactory.idFor(DigesterFactory.java:107)
>> at
>> org.apache.tomcat.util.descriptor.DigesterFactory.<clinit>(DigesterFactory.java:59)
>> ... 15 more
>> [2014-03-18 00:12:37,426] ERROR {org.apache.catalina.core.ContainerBase}
>> - A child container failed during start
>> java.util.concurrent.ExecutionException:
>> org.apache.catalina.LifecycleException: Failed to start component
>> [StandardEngine[Catalina].StandardHost[localhost]]
>> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
>> at java.util.concurrent.FutureTask.get(FutureTask.java:83)
>> at
>> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
>> at
>> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> at
>> org.wso2.carbon.tomcat.ext.service.ExtendedStandardService.startInternal(ExtendedStandardService.java:49)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> at
>> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> at
>> org.wso2.carbon.tomcat.internal.CarbonTomcat.start(CarbonTomcat.java:95)
>> at
>> org.wso2.carbon.tomcat.internal.ServerManager$1.run(ServerManager.java:99)
>> at java.lang.Thread.run(Thread.java:662)
>> Caused by: org.apache.catalina.LifecycleException: Failed to start
>> component [StandardEngine[Catalina].StandardHost[localhost]]
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
>> at
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
>> at
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>> ... 1 more
>> Caused by: org.apache.catalina.LifecycleException: A child container
>> failed during start
>> at
>> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
>> at
>> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> ... 7 more
>> [2014-03-18 00:12:37,428] ERROR
>> {org.wso2.carbon.tomcat.internal.ServerManager} - tomcat life-cycle
>> exception
>> org.apache.catalina.LifecycleException: Failed to start component
>> [StandardServer[8005]]
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
>> at
>> org.wso2.carbon.tomcat.internal.CarbonTomcat.start(CarbonTomcat.java:95)
>> at
>> org.wso2.carbon.tomcat.internal.ServerManager$1.run(ServerManager.java:99)
>> at java.lang.Thread.run(Thread.java:662)
>> Caused by: org.apache.catalina.LifecycleException: Failed to start
>> component [StandardService[Catalina]]
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
>> at
>> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> ... 3 more
>> Caused by: org.apache.catalina.LifecycleException: Failed to start
>> component [StandardEngine[Catalina]]
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
>> at
>> org.wso2.carbon.tomcat.ext.service.ExtendedStandardService.startInternal(ExtendedStandardService.java:49)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> ... 5 more
>> Caused by: org.apache.catalina.LifecycleException: A child container
>> failed during start
>> at
>> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
>> at
>> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> ... 7 more
>> [2014-03-18 00:12:38,105] INFO
>> {org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService} - Configured
>> Registry in 124ms
>> [2014-03-18 00:12:38,474] INFO
>> {org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent} -
>> Registry Mode : READ-WRITE
>> [2014-03-18 00:12:38,525] INFO
>> {org.wso2.carbon.user.core.internal.UserStoreMgtDSComponent} - Carbon
>> UserStoreMgtDSComponent activated successfully.
>>
>>
>> --
>> *Kasun Gajasinghe*
>> Software Engineer;
>> WSO2 Inc.; http://wso2.com
>>
>>
>> ,
>> *email: *
>> *kasung AT spamfree wso2.com <http://wso2.com> ** cell: **+94 (77)
>> 678-0813 <%2B94%20%2877%29%20678-0813>*
>> *linked-in: *http://lk.linkedin.com/in/gajasinghe
>>
>>
>>
>> *blog: **http://kasunbg.org* <http://kasunbg.org>
>>
>>
>>
>> *twitter: **http://twitter.com/kasunbg* <http://twitter.com/kasunbg>
>>
>>
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Supun Malinga,
>
> Senior Software Engineer,
> WSO2 Inc.
> http://wso2.com
> email: [email protected] <[email protected]>
> mobile: +94 (0)71 56 91 321
>
--
*Kasun Gajasinghe*
Software Engineer;
WSO2 Inc.; http://wso2.com
,
*email: *
*kasung AT spamfree wso2.com <http://wso2.com> ** cell: **+94 (77)
678-0813*
*linked-in: *http://lk.linkedin.com/in/gajasinghe
*blog: **http://kasunbg.org* <http://kasunbg.org>
*twitter: **http://twitter.com/kasunbg* <http://twitter.com/kasunbg>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev