Other parsers
Yago was written for a project, writing which I was frustrated by the existing libraries, which were..
GNU GetOpt
On the plus side, claims to be 100% compatible with C GetOpt which is used by lots of programmes, so behaviour should be quite well-defined. Very lengthy prose documentation with examples, after having read which still didn't know how the "-s::b:b"
specs were supposed to work.. Not being familiar with the C programme of which this is a port, found the API quite confusing.
Requires you write lots of code around the GetOpt object, e.g. have a loop and check for expected options, make some other method call to get the value, do different things based on whether you expect a long option or a short or whatever. No typesafety, too much code you have to write yourself.
Jakarta CLI
Used this for several projects. Does a fair amount for you, and usage printout is quite nice, but checking if an option was set seems quite cumbersome; also have to do validation yourself..