[
https://issues.apache.org/jira/browse/JSPWIKI-646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12867961#action_12867961
]
Harry Metske commented on JSPWIKI-646:
--------------------------------------
It looks like we have container specific behaviour here. If I would change the
code as you suggested it wouldn't work in Tomcat .
I removed all the getResource() calls above it :
{code:title=AuthenticationManager.java|borderStyle=solid}
// Ok, the absolute path didn't work; try other methods
URL path = null;
if( engine.getServletContext() != null )
{
try
{
// create a tmp file of the policy loaded as an InputStream
and return the URL to it
//
InputStream is =
engine.getServletContext().getResourceAsStream("/WEB-INF/" + name);
File tmpFile = File.createTempFile("temp." + name, "");
tmpFile.deleteOnExit();
OutputStream os = new FileOutputStream(tmpFile);
byte[] buff = new byte[1024];
while (is.read(buff) != -1)
{
os.write(buff);
}
os.close();
path = tmpFile.toURI().toURL();
}
catch( MalformedURLException e )
{
// This should never happen unless I screw up
log.fatal("Your code is b0rked. You are a bad person.");
}
catch (IOException e)
{
log.error("failed to load security policy from " + name +
",stacktrace follows", e);
}
}
return path;
}
{code}
I placed a new copy of JSPWiki.war on the same location, can you try this one
once more ?
regards,
Harry
> Execption when running the .war file without unpacking it
> ---------------------------------------------------------
>
> Key: JSPWIKI-646
> URL: https://issues.apache.org/jira/browse/JSPWIKI-646
> Project: JSPWiki
> Issue Type: Bug
> Components: Servlet Container/Java compatibility
> Affects Versions: 2.8.3, 3.0
> Environment: Pax-Web 0.7.2, Felix 2.0.2, Pax-Runner
> Reporter: Matthias Küspert
> Assignee: Harry Metske
> Priority: Minor
> Attachments: JSPWIKI-646.patch, jspwiki-conf-1.0.0-SNAPSHOT.jar,
> jspwiki.bnd, paxrunner.log
>
>
> When JSPWiki is run directly from the .war (not unpacking it into a
> directory) startup fails with the following exception:
> java.lang.IllegalArgumentException: File /WEB-INF/jspwiki.policy does not
> exist, or the SecurityManager prohibited access to it.
> at
> org.freshcookies.security.policy.PolicyReader.<init>(PolicyReader.java:188)
> at
> org.freshcookies.security.policy.LocalPolicy.refresh(LocalPolicy.java:324)
> at
> com.ecyrd.jspwiki.auth.AuthorizationManager.initialize(AuthorizationManager.java:416)
> at com.ecyrd.jspwiki.WikiEngine.initialize(WikiEngine.java:556)
> at com.ecyrd.jspwiki.WikiEngine.<init>(WikiEngine.java:403)
> at com.ecyrd.jspwiki.WikiEngine.getInstance(WikiEngine.java:344)
> at
> com.ecyrd.jspwiki.ui.WikiServletFilter.init(WikiServletFilter.java:79)
> at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> Other files from WEB-INF are read without problems, e.g. web.xml:
> [FelixStartLevel] DEBUG
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext - getting
> resource: [/WEB-INF/web.xml]
> [FelixStartLevel] DEBUG
> org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - Searching
> bundle [JSPWiki [1]] for resource [/WEB-INF/web.xml], normalized to
> [WEB-INF/web.xml]
> [FelixStartLevel] DEBUG
> org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - Resource
> found as url [bundle://1.0:36/WEB-INF/web.xml]
> [FelixStartLevel] DEBUG
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext - found resource:
> bundle://1.0:36/WEB-INF/web.xml
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.