Hey guys. I'm trying to install Jira 4.4.3 in Tomcat 7 running Windows 7 following this guide. I can't get rid of the following exception. I set the jira.home in jira-application.properties and also as a env variable. Do you have any ideas?
Thanks in advance!
Ariel.
Nov 28, 2011 5:16:34 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.atlassian.jira.startup.LauncherContextListener
java.lang.RuntimeException: Exception thrown while waiting for future computation
at com.atlassian.jira.startup.StartupStateTemplate.isStartupChecksPassed(StartupStateTemplate.java:62)
at com.atlassian.jira.startup.JiraStartupChecklist.startupOK(JiraStartupChecklist.java:68)
at com.atlassian.jira.startup.ChecklistLauncher.runStartupChecks(ChecklistLauncher.java:96)
at com.atlassian.jira.startup.ChecklistLauncher.start(ChecklistLauncher.java:45)
at com.atlassian.jira.startup.DefaultJiraLauncher.preDbLaunch(DefaultJiraLauncher.java:72)
at com.atlassian.jira.startup.DefaultJiraLauncher.access$000(DefaultJiraLauncher.java:24)
at com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:60)
at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:33)
at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:56)
at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:68)
at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:63)
at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.get(MultiTenantComponentMapImpl.java:121)
at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.onTenantStart(MultiTenantComponentMapImpl.java:165)
at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:134)
at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:131)
at com.atlassian.multitenant.impl.DefaultMultiTenantManager.runForEachListener(DefaultMultiTenantManager.java:256)
at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startTenant(DefaultMultiTenantManager.java:130)
at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startAll(DefaultMultiTenantManager.java:203)
at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:96)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at com.atlassian.jira.startup.StartupStateTemplate.isStartupChecksPassed(StartupStateTemplate.java:58)
... 32 more
Caused by: java.lang.NullPointerException
at java.io.File.<init>(File.java:251)
at com.atlassian.jira.startup.JiraHomeStartupCheck.validateJiraHome(JiraHomeStartupCheck.java:202)
at com.atlassian.jira.startup.JiraHomeStartupCheck.isOk(JiraHomeStartupCheck.java:99)
at com.atlassian.jira.startup.StartupStateTemplate$CreateStartupChecksResult.call(StartupStateTemplate.java:122)
at com.atlassian.jira.startup.StartupStateTemplate$CreateStartupChecksResult.call(StartupStateTemplate.java:115)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at com.atlassian.jira.startup.StartupStateTemplate.isStartupChecksPassed(StartupStateTemplate.java:47)
... 32 more
Nov 28, 2011 5:16:34 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Nov 28, 2011 5:16:34 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Nov 28, 2011 5:16:34 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@4f8d2879')
In JiraHomeStartupCheck.java:202 it's written the following:
File webappServletPath = new File(servletContext.getRealPath("/"));
The thing is that servletContext.getRealPath("/") is returning null and that's apparently because Jira is running for a war and not from the exploded war folder inside the work folder of Tomcat. That's apparently because of the following directive written in Catalina/localhost/jira.xml as stated in the Jira installation guide.
<Context path="/jira" docBase="path/to/atlassian-jira-4.x.war" debug="0" useHttpOnly="true">
<Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction"
factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>
<Manager pathname=""/>
</Context>
What I did is decompress the atlassian-jira-4.x.war file using WinRar and point the docBase to the folder I decompressed the war to.
It worked but I don't like this solution so much because every time that I'll build Jira again now, I'll have to remember to decompress the war folder, otherwise my changes are going to be lost.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.