To make your life easier we have provided a maven archetype which will create a skeleton project for implementing subsystems.
Maven will download the archetype and it's dependencies, and ask you some questions:
|1||Enter the groupId you wish to use|
|2||Enter the artifactId you wish to use|
|3||Enter the version you wish to use, or just hit Enter if you wish to accept the default 1.0-SNAPSHOT|
|4||Enter the java package you wish to use, or just hit Enter if you wish to accept the default (which is copied from groupId).|
|5||Enter the module name you wish to use for your extension.|
|6||Finally, if you are happy with your choices, hit Enter and Maven will generate the project for you.|
You can also do this in Eclipse, see Creating your own application for more details. We now have a skeleton project that you can use to implement a subsystem. Import the acme-subsystem project into your favourite IDE. A nice side-effect of running this in the IDE is that you can see the javadoc of JBoss AS 7 classes and interfaces imported by the skeleton code. If you do a mvn install in the project it will work if we plug it into JBoss AS 7, but before doing that we will change it to do something more useful.
The rest of this section modifies the skeleton project created by the archetype to do something more useful, and the full code can be found in acme-subsystem.zip.
If you do a mvn install in the created project, you will see some tests being run
We will talk about these later in the Testing the parsers section.
NOTE!!!! There is a problem with the 7.1.1.Final version of the artifact, so when running the tests you will see errors like these:
The fix for this is to move src/main/resources/com/acme/corp/tracker/subsystem/extension/LocalDescriptions.properties to src/main/resources/com/acme/corp/tracker/extension/LocalDescriptions.properties substituting com/acme/corp/tracker with the path for what you entered as the package name.