- git clone git://github.com/sroysf/mmarchetype-model.git
- cd mmarchetype-model
- ./install-archetype.sh
This project is broken up into several maven modules:
multimodule-parent :
The parent project serves as the common parent to all three submodules, and contains project global settings.
persistence :
The persistence module encapsulates all functionality related to data persistence. This includes:
- JPA entities
- DAO's to provide a common data access layer.
- All configuration specific to communicating with the back-end persistence implementation.
service :
The service module provides an abstraction layer for common business logic, independent of specific types of clients. This includes:
- Service interfaces and implementations
- Data Transfer Objects for serializing domain entities.
web :
The web module encapsulates all the functionality needed to provide http based access to the service tier.
In Spring STS...
- File -> New -> Other -> Maven -> Maven Project
Open Advanced pulldown, and select [groupId].[artifactId] for the Name template
Click Next
- Select "All Catalogs", check the box for "Include snapshot archetypes", and filter for com.vmforce
Select the archetype
Click Next.
- Enter the desired group Id, artifact ID, and version number for your new project.
Click Finish
You should see 4 new projects in your workspace, with the naming convention matching the naming convention selected in step 1 above.
-
Navigate to the main project directory
-
Execute : mvn -DskipTests clean package
You should get a successful build with no errors.
- Set the name of the web application artifact this project will generate. Open web/pom.xml and look for the following XML snippet:
<warName>exampleMultiModule</warName>
Change the warName property to an application name of your choosing.
- Setup your forceDatabase.properties file, in persistence/src/main/resources/
Instructions on setting up this file are included as comments within the file itself.
- Build your application for the first time, with your customizations. Application artifact is in web/target
mvn -DskipTests clean install
- Deploy your application to VMForce for the first time, in order to setup the oAuth authentication credentials.
See instructions here if you need help deploying an application.
-
Customize the oauth.properties file in web/src/main/resources
-
Now rebuild and redeploy your application, with the customized oauth credentials.
-
Setup and deploy the app as you normally would, either on VMForce or locally. Application artifact is in web/target
-
Example test, locally:
- If you add / remove entities, be sure to update the persistence.xml file with your updated class entries!
- Be careful with the properties files containing security credentials when checking into a version control system.