* classPath, used to set up the manifest Class-Path
* mainClass, used for the manifest Main-Class
* endorsedDirs, added as an Endorsed-Dirs attribute used by the Daemon
class to set the java.endorsed.dirs system property
These are derived from similarly named options on the command line tool or properties for the packaging plugin.
These are really aspects of the configuration itself so I would like to propose moving their definition into the XML file itself by supporting an "executable" element:
<configuration ...>
<executable
main-class="foo.bar.RunME"
class-path-prefix="../repository/"
endorsed-dirs="../lib/endorsed"
/>
<dependency class-path="true">
<!-- following dependency gets added to MCP -->
<uri>foo/jars/bar-1.0.jar</uri>
</dependency>
...
</configuration>Dependencies tagged with "class-path" get added to the Class-Path attribute in the manifest (with the prefix prepended); these will be loaded by the JVM classloader. We should be able to support other dependencies in the future (they are not supported at all now).
Having the dependencies spelt out will cure a couple of issues in deployment where the config carfile actually needs to be in the right directory structure so that the MCP references work (or where we happen to be lucky because the jars happen to be on the deployer's MCP).
-- Jeremy
