I'm trying to use the sitemapgen4j library to build my sitemaps. I'm facing a permission problem while trying to write to my root directory
https://code.google.com/p/sitemapgen4j/
the root context folder (/src/main/webapp)
Exception
Problem writing sitemap file /sitemap.xml
java.io.FileNotFoundException
/sitemap.xml (Permission denied)
Code
File directory = new File("/");
WebSitemapGenerator wsg = new WebSitemapGenerator("http://localhost:8080/app", directory);
Does anybody know how to go about doing this?
I create a temp directory to store the sitemap file(s) in and then generate it on first request and serve up that same version for all subsequent requests because the data in my app doesn't change once it's started.
The benefit of using a temp directory is that you'll definitely be able to write to it (at least I think so).
This solution uses Spring request mappings. It also expects the sitemap file to be written out as
sitemap.xml
and it will unless you have >50k entries and then you'll need to read the sitemapgen4j doco about dealing with index files and adapt this example.