...
The manifest entry name is "Tapestry-Module-Classes". The value is a comma-separated list of fully qualified class names of module classes (this allows a single JAR to contain multiple, related modules). Whitespace is ignored.
Example:
Code Block |
java
|
|
Manifest-Version: 1.0
Tapestry-Module-Classes: org.example.mylib.LibModule, org.example.mylib.internal.InternalModule |
If you are using Maven 2, then getting these entries into your JAR's manifest is as simple as some configuration in your pom.xml:
Code Block |
java
|
|
<project>
. . .
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Tapestry-Module-Classes>org.example.mylib.LibModule,
org.example.mylib.internal.InternalModule</Tapestry-Module-Classes>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
. . .
</project> |
...
The value for this annotation is a list of additional classes to be treated as module classes, exactly as if they were identified in the manifest. Despite the name, there is no hierarchy of modules in Tapestry IoC.
Example:
Code Block |
|
@SubModule(
{ InternalTransformModule.class })
public final class InternalModule
{
. . . |
...