Version warning
The content below is for Apache Syncope <= 1.2 - for later versions the Getting Started guide is available.
Introduction
This document describes how to create a new Syncope project.
A Syncope project includes (at least) two web applications: the core and the console. This page helps you get both web applications up and running with your own project as quickly as possible.
Prerequisites
The preferred way to create a Syncope project is to generate a Maven project starting from published archetype.
Hence you need:
- Java SE Development Kit 6 (version 1.6.0-23 or higher) installed;
- Apache Maven (version 3.0.3 or higher) installed;
- Some basic knowledge about Maven;
- Some basic knowledge about Maven WAR overlays;
- Some basic knowledge about Maven archetypes.
Create new project
Maven archetypes are templates of projects. Maven can generate a new project from such a template. For a project using Syncope, you need the website archetype. In the folder in which the new project folder should be created, type the command shown below. On Windows, run the command on a single line and leave out the line continuation characters ('\').
mvn archetype:generate \ -DarchetypeGroupId=org.apache.syncope \ -DarchetypeArtifactId=syncope-archetype \ -DarchetypeRepository=http://repo1.maven.org/maven2 \ -DarchetypeVersion=1.2.11
The archetype is configured with default values for all properties required by the archetype. If you want to customize any of these property values, type 'n' when prompted for confirmation.
You will be asked for:
- the groupId
something like 'com.mycompany' - the artifactId
something like 'myproject' - the version number
You can use the default; it is good practice to have 'SNAPSHOT' in the version number during development and the maven release plugin makes use of that string. But ensure to comply to the desired numbering scheme for your project. - the package name
The java package name. A folder structure according to this name will be generated automatically; by default, equal to the groupId - (for archetypeVersion >= 1.0.5), the secretKey
Provide any pseudo-random, 16 character length, string here that will be used in the generated project for AES ciphering.
Maven will create a project for you (in a newly created directory named after the value of the artifactId property you specified) containing two subprojects:
- core - a pre-configured RESTful server, with JPA persistence
- console - a web interface for dealing with the core
Stable releases
Take a look at available releases of the archetype project at central Maven repository, then change the archetypeVersion
in the mvn command above accordingly.
Snapshot (development) releases
As development go on, snapshot releases are published at ASF repository.
If you want to test a snapshot release, be sure to:
change
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeGroupId=org.apache.syncope \ -DarchetypeArtifactId=syncope-archetype \ -DarchetypeRepository=http://repository.apache.org/content/repositories/snapshots \ -DarchetypeVersion=1.2.11-SNAPSHOT
add the following code right before
</project>
in rootpom.xml
of the generated project:<repositories> <repository> <id>ASF</id> <url>https://repository.apache.org/content/repositories/snapshots/</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
Build new project
Now build your project using the following command in the root folder of your project:
mvn clean package
This will produce two WAR files:
- core/target/syncope.war
- console/target/syncope-console.war
Where to go from here?
Once you have create your project and verified that build went fine, you can now see how to run an embedded demo or deploy to a real environment.