Bootstrapping NorthernWind with Maven

If you have a basic knowledge of Maven, the fastest and easiest way to try out NorthernWind is by means of a "site archetype". You don't have to install anything: Maven will download a simple site example and the required code, then configure and run everything.

From the command line, type the following command:

[Mistral-MacOSX:/tmp] fritz% mvn archetype:generate \
-DarchetypeGroupId=it.tidalwave.northernwind \
-DarchetypeArtifactId=simple-project-site-archetype-1

You should see the following output (plus some downloading, if you don't have all the required stuff on your local repository). The parts in boldface are information that you should enter by means of the keyboard:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:2.1:generate (default-cli) @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:2.1:generate (default-cli) @ standalone-pom <<<
[INFO] 
[INFO] --- maven-archetype-plugin:2.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] Archetype [it.tidalwave.northernwind:simple-project-site-archetype-1:1.1] found in catalog local
Define value for property 'groupId': : acme
Define value for property 'artifactId': : acme-website
Define value for property 'version': 1.0-SNAPSHOT: : 
Define value for property 'package': acme: : 
Define value for property 'addthisPubid': : id1
Define value for property 'author': : Fabrizio Giudici
Define value for property 'copyrightHolder': : Acme Inc.
[INFO] Using property: creationTime = 2012-01-21T20:00:00.000+01:00
Define value for property 'googleAnalyticsId': : UA-XXXX-XXXX
Define value for property 'googleSiteVerification': : googleXXXXXXXXXX
Define value for property 'siteName': : Acme Website
Define value for property 'siteUrl': : http://acme
Confirm properties configuration:
groupId: acme
artifactId: acme-website
version: 1.0-SNAPSHOT
package: acme
addthisPubid: id1
author: Fabrizio Giudici
copyrightHolder: Acme Inc.
creationTime: 2012-01-21T20:00:00.000+01:00
googleAnalyticsId: UA-XXXX-XXXX
googleSiteVerification: googleXXXXXXXXXX
siteName: Acme Website
siteUrl: http://acme
 Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: simple-project-site-archetype-1:1.1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: acme
[INFO] Parameter: artifactId, Value: acme-website
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: acme
[INFO] Parameter: packageInPathFormat, Value: acme
[INFO] Parameter: siteUrl, Value: http://acme
[INFO] Parameter: googleSiteVerification, Value: googleXXXXXXXXXX
[INFO] Parameter: author, Value: Fabrizio Giudici
[INFO] Parameter: groupId, Value: acme
[INFO] Parameter: googleAnalyticsId, Value: UA-XXXX-XXXX
[INFO] Parameter: addthisPubid, Value: id1
[INFO] Parameter: creationTime, Value: 2012-01-21T20:00:00.000+01:00
[INFO] Parameter: siteName, Value: Acme Website
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: acme
[INFO] Parameter: artifactId, Value: acme-website
[INFO] Parameter: copyrightHolder, Value: Acme Inc.
[INFO] project created from Archetype in dir: /tmp/acme-website
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:09.596s
[INFO] Finished at: Mon Jan 23 21:58:48 CET 2012
[INFO] Final Memory: 7M/81M
[INFO] ------------------------------------------------------------------------

NorthernWind, the web site example and a small webserver will only take about 18MB; more stuff might be downloaded if not already present in your system. At the end of the process, a simple website is generated out of a skeleton and populated with the data you provided (including an identifier for using Google Analytics, a verification file for Google WebMaster Tools and an identifier for the AddThis service).

Now you should just run:

[Mistral-MacOSX:/tmp] fritz% cd acme-website
[Mistral-MacOSX:/tmp] fritz% mvn initialize

This will start the webserver (ignore an exception that will appear on the console): after a few seconds, the web site will be available at http://localhost:8080. Point your browser and navigate through the website.

Please note that running Maven with archetypes can execute downloaded code in your computer, as in this case. Pay always attention to what you're doing to avoid running malicious code.