I have several doubts/suggestions:
1. What a Java package is? There are a lot uses of this term, but I couldn't find the definition.
2. "If the package provides a single JAR and the filename provided by the build is neither %{name}-%{version}.jar nor %{name}.jar then this file MUST be installed as %{name}.jar and a symbolic link with the usual name must be provided." What if the usual name is already taken by another package? Sholdn't the working be "should be provided"?
3. "You can use either package names (all jar files will be included) or jar filenames with path prefix to select only some jar files from whole package." So if package FOO provides 2 jars: FOO.jar and BAR.jar, build-classpath FOO1 will give both jars, but
build-classpath ./FOO` only the first?
4. "For older releases and EPEL, refer to the maven 2 template." Could you provide a link?
5. "Add symbolic link %{_javadir}/javax.XXX.jar that will point to the implementation" What is "the implementation"? Jar files with classes? If yes then how can you create 1 symlink to multiple files?
6. "You can use either package names (all jar files will be included)" All jars? Even those in /lib?
7. Sometimes you write JAR, sometimes jar and sometimes Jar. Is it intentional?