Similar to this question: How do I draw the arrow on the line using SLD of Geoserver?
The answer there works, but I need to place the arrow on the midpoint of the line. Alternatively, it could be placed along the line with a certain offset from the start or end point.
The reason is that I am using this for lines that have a symbolized point feature (for manholes in a sewer network) at each end. These points would interfere with arrow at beginning or end of the line.