JBoss 4.0.2 Start Up Error "java.io.FileNotFoundException ... (Access is Denied)"
Symptoms
The JIRA Application deployment fails resulting in HTTP status code 404 Not Found
. The logs display the following errors:
12:10:18,500 INFO [NoModule] [FlexibleProperties.load]: Couldn't find the URL: file:/D:/data/FAL/JbossTest/jboss-4.0.1sp1/server/default/tmp/deploy/tmp26768jira-exp.war/debug
12:10:18,500 INFO [NoModule] java.io.FileNotFoundException: D:\data\FAL\JbossTest\jboss-4.0.1sp1\server\default\tmp\deploy\tmp26768jira-exp.war\debug (Access is denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
Cause
From the JBoss readme.html
file:
Default flat class loading model from 3.0.x-3.2.x has been restored for the default configuration. This change in behaviour was done to restore consistency with the 3.2.x class loading model.
Resolution
The solution to this classloader issue can be implemented in two ways:
Globally revert the JBoss configuration to the old classloading model. Edit the file $JBOSS_HOME/server/default/jbossweb-tomcat55.sar/META-INF/jboss-service.xml
changing the following element:
<!-- Get the flag indicating if the normal Java2 parent first class
loading model should be used over the servlet 2.3 web container first
model.
-->
<attribute name="Java2ClassLoadingCompliance">true</attribute>
{panel:bgColor=#EAECFF|title=Option 2}
Configure the classloader specifically for Jira editing the container specific deployment descriptor {{WEB-INF/jboss-web.xml}} as described on the JBoss site:
{code:xml}<jboss-web>
<class-loading java2ClassLoadingCompliance="true" />
</jboss-web>