Thanks for reporting this.
I've reproduced it by removing the target folder as you stated in
StackOverflow. The problem is that the FileTarget#createOutputStream(Resource)
method is unable to create an OutputStream.
Assuming your fixture is in the a.b.c package, Concordion is trying to create
an OutputStream for the file "<concordion.output.dir>/a/b/c/../../../concordion.css"
is the concordion output directory). If the "<concordion.output.dir>/a/b/c/"
folder does not already exist this fails - it seems that Java does
not automatically "normalize" the path to remove ".."s.
The solution will be to normalize the path (probably using Path.normalize()).
To resolve, you can either update to the 2.2.1 release which
should be available soon, or use absolute paths (eg. @ConcordionResources("/concordion.css")).