Using archetypes

In order to generate an application based on an archetype, follow the procedure described below.

sudo yum install java-1.7.0-openjdk -y
sudo /usr/sbin/alternatives --config java
  • This will show on the terminal window:
There are 3 programs which provide 'java'.

 Selection     Command
------------------------------------------------
 + 1           /usr/java/jdk1.6.0_35/jre/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
*  3           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

Enter to keep the current selection[+], or type selection number:
  • Select /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java out of the menu options by typing the correct number (here it’s 3),
  • Configure the JAVA_HOME variable, by:
echo "export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64" >> ~/.bash_profile
. ~/.bash_profile
  • Type:
cd
mvn archetype:generate
  • Select the entry relative to the application archetype you want to use:
Choose archetype:
1: local -> com.terradue.app:ewf-bash-archetype (Archetype for Ellip Workflows Bash Applications - v2)
2: local -> com.terradue.app:ewf-python-archetype (Archetype for Ellip Workflows Python Applications - v2)
3: local -> com.terradue.app:ewf-R-archetype (Archetype for Ellip Workflows R Applications - BETA)
4: local -> com.terradue.app:ewf-snap-S1-one-to-one (Ellip Workflows example using SNAP and Sentinel-1 (one-to-one))
5: local -> com.terradue.app:ewf-snap-S1-pair (Ellip Workflows example using SNAP and Sentinel-1 (pair of products))
6: local -> com.terradue.app:ewf-snap-S1-stack (Ellip Workflows example using SNAP and Sentinel-1 (stack of products))
7: local -> com.terradue.app:ewf-snap-S2-one-to-one (Ellip Workflows example using SNAP and Sentinel-2 (one-to-one))
8: local -> com.terradue.app:ewf-snap-CSK-ifg (Ellip Workflows example using SNAP for COSMO-SkyMed interferogram generation)
9: local -> com.terradue.app:ewf-snap-RS2-ifg (Ellip Workflows example using SNAP for RADARSAT-2 interferogram generation)
10: local -> com.terradue.app:ewf-snap-TSX-ifg (Ellip Workflows example using SNAP for TerraSAR-X interferogram generation)
11: local -> com.terradue.app:ewf-otb-S1-one-to-one (Ellip Workflows example using OTB and Sentinel-1 (one-to-one))
12: local -> com.terradue.app:ewf-otb-S2-one-to-one (Ellip Workflows example using OTB and Sentinel-2 (one-to-one))
13: local -> com.terradue.app:ewf-otb-L8-one-to-one (Ellip Workflows example using OTB and Landsat-8 (one-to-one))
14: local -> com.terradue.app:ewf-otb-Pleiades-one-to-one (Ellip Workflows example using OTB and Pleiades (one-to-one))
15: local -> com.terradue.app:ewf-otb-K2-one-to-one (Ellip Workflows example using OTB and Kompsat2 (one-to-one))
16: local -> com.terradue.app:ewf-otb-K3-one-to-one (Ellip Workflows example using OTB and Kompsat3 (one-to-one))
17: local -> com.terradue.app:ewf-notebook-1 (Ellip Workflows example the notebook (no data stage-in, one-to-one))
18: local -> com.terradue.app:ewf-notebook-2 (Ellip Workflows example the notebook (no data stage-in, many-to-one))
19: local -> com.terradue.app:ewf-notebook-stagein-1 (Ellip Workflows example the notebook with data stage-in (one-to-one))
20: local -> com.terradue.app:ewf-notebook-stagein-2 (Ellip Workflows example the notebook with data stage-in (many-to-one))
  • Set the ‘groupId’, ‘artifactId’, ‘version’, ‘package’, ‘community’, ‘description’ and ‘summary’ values for your project. For example:
Define value for property 'groupId': : com.terradue
Define value for property 'artifactId': : <app-name>
Define value for property 'version':  1.0-SNAPSHOT: :
Define value for property 'package':  : : <app-name>
Define value for property 'community': : <your community, for example geohazards-tep>
Define value for property 'description': : <a long description of your Application>
Define value for property 'summary': : <a short description of your Application>

NOTE: the ‘version’ will be set by default to ‘1.0-SNAPSHOT’.

After that, you will see a folder with the name of the artifactId (here myapp), where you can start writing your application.