Why can't you simply:
if (jar != null) {
if (jar.indexOf(":") > 0) {
parseGAVThenRun(jar);
} else {
File jarAbsolute;
File jarFile = new File(jar);
if (jarFile.isAbsolute()) {
jarAbsolute = jarFile;
}
else {
jarAbsolute = new File(basedir, jar);
}
runManifestMain(jarAbsolute);
}
}
This may seem like a lot of effort to automatically detect what the user is trying to do, but I think it makes this plugin path quite a bit nicer. 
Brett, you want a way to execute a jar and not a class ?
If so, do you want something like:
mvn exec:java -Djar=groupId:artifactId
or
mvn exec:java -Djar=/path/to/my/jar
both ?