Current Situtation
Currently the pas applications are defined as maven poms which have information specific to building jnlps.
Future Design
There are other maven plugins which can build applications for example:
http://mojo.codehaus.org/appassembler/ - this assembles the jars and creates scripts to execute the application
The pom describing the generic application should not depend directly on these things. Instead it should define abstract properties that both the jnlp, appassembler, ... then use to build the application.
Other targets
mvn run -run the application using maven directly this would download the dependencies and build the application classpath from the jars in the local maven repo.
eclipse launch - the application pom should be usable by an eclipse launch config, so the mainclass doesn't have to be specified twice. This would have the same classpath as mvn run.