Product: Confluence
Environment
| Operating System | Any |
|---|---|
| Affect Version/s | 2.9 |
| JVM | Any |
| Database | Any |
| Application Server | Any |
Error Message
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/templates/repositoryFrame.vm' at com.atlassian.confluence.util.velocity.ConfigurableResourceManager.loadResource(ConfigurableResourceManager.java:400) at com.atlassian.confluence.util.velocity.ConfigurableResourceManager.getResource(ConfigurableResourceManager.java:304) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1102) at org.apache.velocity.runtime.directive.Parse.render(Parse.java:177) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318) at org.apache.velocity.Template.merge(Template.java:254) Caused by: java.io.FileNotFoundException: /www/apps/confluence/temp/atlassian-plugins-innerjar8828.jar (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at java.io.FileInputStream.<init>(FileInputStream.java:66) at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70) at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
Symptom
Page crashes and shows stack trace when trying to access the Plugin Repository ('Administration' console -> 'Plugin Repository')
Diagnostics/Test
Check whether the jar file mentioned in the FileNotFoundException is present or not. If it is not, then something has deleted it.
Root Cause
Confluence is storing .jar files in a temporary directory where files are sometimes deleted for some reason. The deletion could be by Confluence itself, some external cleanup program, or human intervention.
This problem is CONF-12856 which is fixed in Confluence 2.9.1.
Solution
- Restarting Confluence will cause it to recreate the .jar files it needs. (They are "inner" jars from within plugins). However, depending on the cause of the file deletion it may reoccur.
- Changing the application's temp directory would be a more permanent solution. Eg change the java.io.tmpdir system property to a known directory that will not have its content removed. Changing system properties is done differently depending on the way Confluence is installed, but it is commonly done by changing the JAVA_OPTS.
- Upgrading to 2.9.1 should also fix the problem.
