Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Stardust/Knowledge Base/Build and Change Management/Maven/Basic Setup"

m (Troubleshooting)
 
(46 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Maven Repository Configuration  ==
+
== Stardust Maven Repository Configuration  ==
  
While we are packaging up Stardust for Eclipse, you can get free access to the Infinity Process Platform - the product Stardust originates from. After you followed the instructions on how to [http://www.eclipse.org/stardust/download/download.php gain access] to the Maven Repository, you can authenticate against the ''ipp-libs'' repository with the username and password you picked when registering. Further repositories Stardust builds may require are Maven Central, Java.net and Jboss public. To access these repositories from Maven make sure they are configured in your Maven settings.xml as shown below.  
+
For Stardust builds add the following repositories to your settings.xml:
 +
 
 +
<source lang="XML">
 +
<repositories>
 +
...
 +
  <repository>
 +
    <id>stardust-releases</id>
 +
    <url>http://download.eclipse.org/stardust/maven/releases</url>
 +
  </repository>
 +
  <repository>
 +
    <id>stardust-snapshots</id>
 +
    <url>http://download.eclipse.org/stardust/maven/snapshots</url>
 +
  </repository>
 +
  <repository>
 +
    <id>stardust-3rdparty-eclipse</id>
 +
    <url>http://archive.eclipse.org/stardust/maven/3rdparty/eclipse</url>
 +
  </repository>
 +
  <repository>
 +
    <id>stardust-3rdparty-public</id>
 +
    <url>http://archive.eclipse.org/stardust/maven/3rdparty/public</url>
 +
  </repository>
 +
  <repository>
 +
    <id>central</id>
 +
    <url>http://repo1.maven.org/maven2/</url>
 +
  </repository>
 +
...
 +
</repositories>
 +
</source>
 +
 
 +
Other helpful repositories could be ibiblio [http://www.ibiblio.org/maven http://www.ibiblio.org/maven] or the Nuxeo Apache repository [http://maven.nuxeo.org/nexus/content/groups/public http://maven.nuxeo.org/nexus/content/groups/public].<br>
 +
 
 +
== Maven Archetypes  ==
 +
 
 +
==== Stardust Archetypes ====
 +
 
 +
'''Runtime'''
 +
 
 +
*tc7-stardust-portal-war - Stardust Spring WAR deploment for Tomcat 7; since Stardust 3.0.0
 +
*tc7-ipp-portal-war - Stardust Spring WAR deploment for Tomcat 7; since Stardust 1.1.0 until 2.1.1
 +
*tc6-ipp-portal-war - Stardust Spring WAR deploment for Tomcat 6; since Stardust 1.0.0 until 1.0.1<br>
 +
 
 +
'''Commandline Tools'''
 +
 
 +
*console-spring-client - Creates a Spring based console environment.
 +
*sysconsole-client - Creates a sysconsole client environment.
 +
 
 +
The '''goal''' '''generate-resources''' (for console and sysconsole) '''has to be executed''' after the corresponding projects have been successfully created. However, project creation and goal execution can be combined in one command by appending a -Dgoals parameter as shown in the examples below.
 +
 
 +
==== Example Usage  ====
 +
 
 +
If the repository is not configured in your settings.xml then you have to supply the repository URL as an additional parameter to the mvn command:
 +
<pre>-DarchetypeRepository=http://download.eclipse.org/stardust/maven/releases</pre>
 +
If you chose to download the archetype catalog locally, then you can supply the location of the directory where you saved the catalog file:
 +
<pre>-DarchetypeCatalog=file://C:/Stardust/misc/</pre>
 +
This assumes that you have downloaded the archetype-catalog.xml into the C:/Stardust/misc/ folder. If you have renamed the archetype-catalog.xml file then you have to append the filename to the <code>archetypeCatalog</code> property, e.g. <code>-DarchetypeCatalog=file://C:/Stardust/misc/stardust-archetype-catalog.xml</code>
 +
 
 +
'''Runtime'''
 +
<pre>mvn archetype:generate
 +
-DarchetypeGroupId=org.eclipse.stardust.deploy.jee.archetypes -DarchetypeArtifactId=tc7-stardust-portal-war
 +
-DarchetypeVersion=3.1.1 -DgroupId=org.eclipse.stardust.test -DartifactId=stardust-portal-war -Dversion=1.0-SNAPSHOT
 +
</pre>
 +
'''Command Line'''
 +
<pre>mvn archetype:generate -DarchetypeGroupId=org.eclipse.stardust.deploy.jee.archetypes
 +
-DarchetypeArtifactId=sysconsole-client -DarchetypeVersion=3.1.1 -DgroupId=local -DartifactId=sysconsole -Dversion=1.0-SNAPSHOT
 +
-DarchetypeRepository=http://download.eclipse.org/stardust/maven/releases -Dgoals=generate-resources
 +
</pre>
 +
 
 +
=== Other Archetypes  ===
 +
 
 +
While we are working on providing all available archetypes for Stardust, you can get free access to the Infinity Process Platform - the product Stardust originates from.&nbsp;After you followed the instructions on how to [http://www.eclipse.org/stardust/download/download.php gain access] to the IPP Maven Repository, you can authenticate against the ''ipp-libs'' repository with the username and password you picked when registering. Further repositories builds may require are: Maven Central and JBoss public. To access these repositories from Maven make sure they are configured in your Maven settings.xml as follows.  
 +
 
 +
<u>'''Repositories'''</u>
  
 
<source lang="XML">
 
<source lang="XML">
Line 11: Line 82:
 
   </repository>
 
   </repository>
 
   <repository>
 
   <repository>
     <id>mavenCentral</id>
+
     <id>central</id>
 
     <url>http://repo1.maven.org/maven2/</url>
 
     <url>http://repo1.maven.org/maven2/</url>
 
   </repository>
 
   </repository>
Line 17: Line 88:
 
     <id>public-jboss</id>
 
     <id>public-jboss</id>
 
     <url>http://repository.jboss.org/nexus/content/groups/public-jboss</url>
 
     <url>http://repository.jboss.org/nexus/content/groups/public-jboss</url>
  </repository>
 
  <repository>
 
    <id>maven2-repository.java.net</id>
 
    <url>http://download.java.net/maven/2/</url>
 
 
   </repository>
 
   </repository>
 
...
 
...
Line 47: Line 114:
 
<br>  
 
<br>  
  
Other helpfull repositories could be ibiblio [http://www.ibiblio.org/maven http://www.ibiblio.org/maven] or the Nuxeo Apache repository [http://maven.nuxeo.org/nexus/content/groups/public http://maven.nuxeo.org/nexus/content/groups/public].<br>  
+
<u>'''Archetypes'''</u>  
  
== Stardust Maven Archetypes  ==
+
(https://infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml) that can be use to create the following Maven projects:
  
==== Available Archetypes  ====
+
<br> '''JBOSS 6.3 and 6.4 EAP'''
  
Starting from version 6.0.3 the ''ipp-libs'' Maven repository ([https://infinity.sungard.com/repository/ipp-libs/ https://infinity.sungard.com/repository/ipp-libs]) contains Maven archetypes<br>
+
*ipp-archetype-jb6-eap-ipp-ear - prepares an EAR deployment for JBoss 6.3/6.4 EAP and contains a console module which invokes the calls against an EAR deployment.  
  
(https://infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml) that can be use to create the following Maven projects:
+
'''JBOSS 7.1'''
  
*Engine runtime '''EAR '''project for '''JBOSS 5.1''', '''EJB '''deplyoment, '''artefactId=ipp-archetype-jb51-ipp-ear'''<br>
+
*ipp-archetype-jb71-ipp-portal-war - prepares a WAR deployment for JBoss 7.1.
*Engine runtime '''WAR '''project for '''JBOSS 5.1''', '''Spring '''deplyoment, artefactId='''ipp-archetype-jb51-ipp-portal-war'''<br>
+
*'''Reporting '''runtime WAR project for '''JBOSS 5.1''', artefactId='''ipp-archetype-jb51-reporting-war'''<br>
+
*Engine runtime WAR project for '''Tomcat 6''', '''Spring''' deployment, artefactId='''ipp-archetype-tc6-ipp-portal-war'''<br>
+
*'''Reporting '''runtime WAR project for '''Tomcat 6, '''artefactId='''ipp-archetype-tc6-reporting-war'''<br>
+
  
*'''Console''' command line tool client environment project, '''Spring '''client, artefactId='''ipp-archetype-console-spring-client'''<br>
+
'''Tomcat 7'''  
*'''Sysconsole '''command lient tool client environment project (direct database access via JDBC), artefactId='''ipp-archetype-sysconsole-client'''<br>
+
  
<br>
+
*ipp-archetype-tc7-ipp-portal-war - prepares a Infinity Process Platform Portal WAR deployment for Tomcat 7.
  
For other application servers the example project coming closest to the target deployment can be adjusted. Additional archetypes for other deployment scenarios will be added soon.<br>
+
'''Weblogic 11 (aka 10.3.3)'''
  
*The repository ipp-community-releases already contains a beta version of the '''Weblogic Spring WAR''' archetype. Due to the WLS license restrictions this archetype requires the property ''wlfullclient.dir'' to be supplied as a parameter. The value should be the WLS folder in which the JAR wlfullclient.jar can be found.<br>
+
*ipp-archetype-wls11-ipp-ear - prepares an EAR deployment for WebLogic 11 (aka 10.3.3) and provides a console environment for EJB.  
 +
*ipp-archetype-wls11-ipp-portal-war - prepares a WAR deployment for WebLogic 11 (aka 10.3.3).  
  
<br>
+
'''Weblogic 12 (aka 12.1.2)'''
  
The goals '''dependency:unpack''' (for runtimes) / '''generate-resources''' (for console and sysconsole) have to be executed after the corresponding projects have been successfully created. However, project creation and goal execution can be combined in one command by appending a ''-Dgoals'' parameter as shown in the examples below.<br>
+
*ipp-archetype-wls12-ipp-ear - prepares an EAR deployment for WebLogic 12c (aka 12.1.2) and provides a console environment for EJB.
 +
*ipp-archetype-wls12-ipp-portal-war - prepares a WAR deployment for WebLogic 12c (aka 12.1.2).
  
==== Example Usage  ====
+
Due to the WLS license restrictions this archetype requires the property '''''wlfullclient.dir''''' to be supplied as a parameter. The value should be the WLS folder in which the JAR wlfullclient.jar can be found.
 +
 
 +
'''Websphere 8'''
 +
 
 +
*ipp-archetype-was8-ipp-ear - prepares an EAR deployment for WebSphere 8 and provides a console environment for EJB.
 +
*ipp-archetype-was8-ipp-portal-war - prepares a WAR deployment for WebSphere 8.
 +
 
 +
'''Commandline Tools'''
 +
 
 +
*ipp-archetype-console-spring-client - creates a Spring based console environment.
 +
*ipp-archetype-sysconsole-client - creates a sysconsole client environment.<br>
 +
 
 +
<br>
 +
 
 +
The goal '''generate-resources''' (for console and sysconsole) has to be executed after the corresponding projects have been successfully created. However, project creation and goal execution can be combined in one command by appending a ''-Dgoals'' parameter as shown in the examples below.<br>
  
If the repository is not configured in your settings.xml then you have to supply the repository URL as an additional parameter to the mvn command:
 
<pre>-DarchetypeRepository=https://infinity.sungard.com/repository/ipp-libs</pre>
 
If you chose to download the archetype catalog locally, then you can supply the location of the directory where you saved the catalog file:
 
<pre>-DarchetypeCatalog=file://C:/Stardust/misc/</pre>
 
'''Runtime'''
 
<pre>mvn archetype:generate
 
-DarchetypeGroupId=com.infinity.bpm.archetypes -DarchetypeArtifactId=ipp-archetype-tc6-ipp-portal-war
 
-DarchetypeVersion=6.0.3 -DgroupId=org.eclipse.stardust.test -DartifactId=stardust-portal-war -Dversion=1.0-SNAPSHOT
 
-Dgoals=dependency:unpack
 
</pre>
 
'''Command Line'''
 
<pre>mvn archetype:generate
 
-DarchetypeGroupId=com.infinity.bpm.archetypes -DarchetypeArtifactId=ipp-archetype-console-spring-client
 
-DarchetypeVersion=6.0.3 -DgroupId=org.eclipse.stardust.test -DartifactId=stardust-console -Dversion=1.0-SNAPSHOT
 
-Dgoals=generate-resources
 
</pre>
 
 
== M2 Eclipse Plugin  ==
 
== M2 Eclipse Plugin  ==
  
Line 104: Line 166:
 
*manages dependencies and integrates them with the Eclipse classpath  
 
*manages dependencies and integrates them with the Eclipse classpath  
 
*automatically downloads and updates dependencies  
 
*automatically downloads and updates dependencies  
*resolves artifact Javadoc and source<br>  
+
*resolves artefact Javadoc and source<br>  
 
*creates projects based on Maven archetypes  
 
*creates projects based on Maven archetypes  
 
*supports browsing and searching of remote and local Maven repositories  
 
*supports browsing and searching of remote and local Maven repositories  
Line 115: Line 177:
 
*...
 
*...
  
You can learn more about the plugin here:&nbsp;[http://www.sonatype.com/books/m2eclipse-book/reference/ http://www.sonatype.com/books/m2eclipse-book/reference/]. In Eclipse Helios (3.6) the plugin is not yet part of the distribution, but you can install it from the Eclipse marketplace. Installation instructions can be found here: [http://www.sonatype.com/books/m2eclipse-book/reference/install-sect-marketplace.html http://www.sonatype.com/books/m2eclipse-book/reference/install-sect-marketplace.html]<br>  
+
You can learn more about the plugin here:&nbsp;[http://www.sonatype.com/books/m2eclipse-book/reference/ http://www.sonatype.com/books/m2eclipse-book/reference/].<br>
 +
 
 +
==== Installation  ====
 +
 
 +
In Eclipse Kepler and higher versions the plugin can be installed via the Eclipse marketplace.  
 +
 
 +
Installation instructions for Eclipse helios can be found here: [http://www.sonatype.com/books/m2eclipse-book/reference/install-sect-marketplace.html http://www.sonatype.com/books/m2eclipse-book/reference/install-sect-marketplace.html]<br>  
 +
 
 +
Apart from the required M2E plugin it is recommended to additionally install the optional "Maven Integration for WTP" plugin from the M2E Extras section.
 +
 
 +
The following update sites have been proven to work well with Eclipse Luna:
 +
 
 +
*M2E Core Plugin: [http://download.eclipse.org/technology/m2e/releases http://download.eclipse.org/technology/m2e/releases]
 +
*WTP Add-On: [http://download.eclipse.org/m2e-wtp/releases/luna/ http://download.eclipse.org/m2e-wtp/releases/luna/]
  
 
==== Stardust Archetype Catalog Configuration<br>  ====
 
==== Stardust Archetype Catalog Configuration<br>  ====
Line 127: Line 202:
 
*Click the ''Configure ''button next to the catalog selection box.<br>  
 
*Click the ''Configure ''button next to the catalog selection box.<br>  
 
*Use the ''Add Remote Catalog ''button to add a catalog from a location on the web.<br>  
 
*Use the ''Add Remote Catalog ''button to add a catalog from a location on the web.<br>  
*In the ''Catalog File'' field enter: [https://infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml https://infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml<br>]  
+
*In the ''Catalog File'' field enter: [http://download.eclipse.org/stardust/maven/releases/archetype-catalog.xml http://download.eclipse.org/stardust/maven/releases/archetype-catalog.xml<br>]  
 
*In the ''Description'' field enter a description of your choice, e. g. "Stardust Archetype Catalog".<br>
 
*In the ''Description'' field enter a description of your choice, e. g. "Stardust Archetype Catalog".<br>
  
Line 136: Line 211:
 
You can also add the Stardust archetype catalog as a local catalog to M2Eclipse.<br>  
 
You can also add the Stardust archetype catalog as a local catalog to M2Eclipse.<br>  
  
*Download the catalog file from [https://infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml https://infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml] <br>  
+
*Download the catalog file from [http://download.eclipse.org/stardust/maven/releases/archetype-catalog.xml http://download.eclipse.org/stardust/maven/releases/archetype-catalog.xml] <br>  
 
*Configure a local catalog as illustrated in the screenshots below.<br>
 
*Configure a local catalog as illustrated in the screenshots below.<br>
  
 
[[Image:M2EclipseCreateLocalCatalog.gif|Creating a local Stardust Archetype Catalog in M2 Eclipse]]<br>  
 
[[Image:M2EclipseCreateLocalCatalog.gif|Creating a local Stardust Archetype Catalog in M2 Eclipse]]<br>  
  
<br>  
+
<br>
 +
==== Create Stardust Archetype Project<br>  ====
 +
 
 +
In order to create a new Maven project which is based on a Stardust Archetype, please click on the ''File/New/Other...'' menu item. In the upcoming dialog search for ''Maven Project'' and step through the wizard until you can choose the Catalog. Select the corresponding Catalog file, e.g. ''Stardust Archetype Catalog'' or ''Local Stardust Archetype Catalog'' and the Archetype you want to install. In the last step enter Maven coordinates (Group Id, Artifact Id and Version) which the newly project should have.
  
 
[[Image:M2EclipseBrowseLocalStardustCatalog.jpg|Browsing the local Stardust Archetype Catalog in M2 Eclipse]]<br>  
 
[[Image:M2EclipseBrowseLocalStardustCatalog.jpg|Browsing the local Stardust Archetype Catalog in M2 Eclipse]]<br>  
  
<br>  
+
<br>
 +
==== IPP Archetype Catalog Configuration<br>  ====
 +
The steps are mostly identical to the one from the Stardust Archetype Catalog Configuration, except the URL of the Archetype catalog file. For IPP it is: [https://infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml https://user.name:clearTextPasswordOrPasswordHashFromRepository@infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml] whereby ''user.name'' and ''clearTextPasswordOrPasswordHashFromRepository'' must be replaced with your IPP credentials (how you have provided them for the ''ipp-libs'' server entry in the settings.xml).
  
 
== Troubleshooting  ==
 
== Troubleshooting  ==
  
*'''Remember to run dependency:unpack / generate-resources goal'''<br>
+
*'''Add wagon-http Jar if you are using Maven 3.0.4 behind a Proxy '''<br>
  
If you experience problems related to missing files like e.g. sun-jaxws.xml then you may have forgotten to run the goal dependency:unpack.<br>  
+
Maven 3.0.<u>4</u> has a [http://jira.codehaus.org/browse/MNG-5237 bug] preventing it from downloading dependencies from behind a proxy. An error starting with ''"Failed to retrieve plugin descriptor …''" will appear. Either switch to Maven 3.0.<u>3</u> or download [[Repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/2.2/wagon-http-lightweight-2.2.jar|repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/2.2/wagon-http-lightweight-2.2.jar]] and add it to Maven's ''\lib\ext'' sub folder.<br>  
  
If you want to use the command line tools console or syconsole and cannot find the bat / sh files then you may have forgotten to run the goal generate-resources.<br>  
+
*'''Check if the repository password or password hash in your setting.xml is up-to-date'''<br>
  
*'''Make sure you are using the right Maven installation / settings.xml and have configured the credentials properly'''<br>
+
If your password hash is outdated then Maven unfortunately won't display an meaningful error message. It will simply not download the artifacts from the repository. Instead Maven will try to fetch the artifacts from the other configured repositories. Finally the build will fail with an error message indicating that the artifact could not be downloaded. Log into the repository web app, click on your name and generate a new password hash. Then update the password hash in your settings.xml with the new value.
  
If you experience any problems in using the Stardust archetype catalog or in building maven projects using M2 Eclipse, then this may be due to the fact that your M2 Eclipse is&nbsp; configured to use the embedded Maven version that ships with it. Unless you configured it accordingly this Maven version uses another settings.xml which does not contain the credentials and repositories required to access the archetype catalog and the artifacts in the repository.<br>  
+
*'''Remember to run generate-resources goal'''<br>
 +
 
 +
If you want to use the command line tools console or sysconsole and cannot find the bat / sh files then you may have forgotten to run the goal generate-resources.<br>
 +
 
 +
*'''Make sure you are using the right Maven installation / settings.xml'''<br>
 +
 
 +
If you experience any problems in using the Stardust archetype catalog or in building Maven projects using M2 Eclipse, then this may be due to the fact that your M2 Eclipse is configured to use the embedded Maven version that ships with it. Unless you configured it accordingly this Maven version uses another settings.xml which does not contain the credentials and repositories required to access the archetype catalog and the artifacts in the repository.<br>  
  
 
[[Image:M2EclipseCouldNotFindArchetype.gif]]  
 
[[Image:M2EclipseCouldNotFindArchetype.gif]]  
Line 165: Line 251:
 
[[Image:ChangingM2EclipseMavenVersion.gif]]  
 
[[Image:ChangingM2EclipseMavenVersion.gif]]  
  
 +
<br>
 +
 +
*'''Make sure that you have a valid local Maven cache'''<br>
 +
 +
The same error as in ''Make sure you are using the right Maven installation / settings.xml'' can happen if your local Maven cache contains invalid metadata entries for the Archetypes. To fix that please open your Maven cache in a file browser and delete the folders ''org/eclipse/stardust/deploy/jee/archetypes'' and ''com/infinity/bpm/archetypes'' if they exists. This forces the M2 Eclipse plugin to download the Archetypes again and to evaluate which latest released version can be used.
 +
<br>
 +
 +
*'''Make sure that you have configured the credentials properly (IPP only)'''<br>
 +
According to the [https://maven.apache.org/archetype/maven-archetype-plugin/faq.html#authentication Maven Archetype FAQs] your settings.xml file needs some further ''server'' entries if you want to create Maven projectes which are based on the IPP Archetypes (see section [https://wiki.eclipse.org/Stardust/Knowledge_Base/Build_and_Change_Management/Maven/Basic_Setup#Other_Archetypes Other Archetypes] for a list of artifacts). This means that you must provide ''server'' entries for each IPP Archetype that you want to use. These entries must be in the following format ''[archetypeArtifactId]-repo'' whereby the pattern ''[archetypeArtifactId]'' must be replaced with the corresponding artifactId of the IPP Archetype. So an example server entry for the JBoss 7.1 Archetype can look as follows:
 +
<source lang="XML">
 +
<servers>
 +
...
 +
  <server>
 +
    <id>ipp-archetype-jb71-ipp-portal-war-repo</id>
 +
    <username>user.name</username>
 +
    <password>clearTextPasswordOrPasswordHashFromRepository</password>
 +
  </server>
 +
...
 +
</servers>
 +
</source>
 
<br>
 
<br>

Latest revision as of 03:07, 6 June 2016

Stardust Maven Repository Configuration

For Stardust builds add the following repositories to your settings.xml:

<repositories>
...
  <repository>
    <id>stardust-releases</id>
    <url>http://download.eclipse.org/stardust/maven/releases</url>
  </repository>
  <repository>
    <id>stardust-snapshots</id>
    <url>http://download.eclipse.org/stardust/maven/snapshots</url>
  </repository>
  <repository>
    <id>stardust-3rdparty-eclipse</id>
    <url>http://archive.eclipse.org/stardust/maven/3rdparty/eclipse</url>
  </repository>
  <repository>
    <id>stardust-3rdparty-public</id>
    <url>http://archive.eclipse.org/stardust/maven/3rdparty/public</url>
  </repository>
  <repository>
    <id>central</id>
    <url>http://repo1.maven.org/maven2/</url>
  </repository>
...
</repositories>

Other helpful repositories could be ibiblio http://www.ibiblio.org/maven or the Nuxeo Apache repository http://maven.nuxeo.org/nexus/content/groups/public.

Maven Archetypes

Stardust Archetypes

Runtime

  • tc7-stardust-portal-war - Stardust Spring WAR deploment for Tomcat 7; since Stardust 3.0.0
  • tc7-ipp-portal-war - Stardust Spring WAR deploment for Tomcat 7; since Stardust 1.1.0 until 2.1.1
  • tc6-ipp-portal-war - Stardust Spring WAR deploment for Tomcat 6; since Stardust 1.0.0 until 1.0.1

Commandline Tools

  • console-spring-client - Creates a Spring based console environment.
  • sysconsole-client - Creates a sysconsole client environment.

The goal generate-resources (for console and sysconsole) has to be executed after the corresponding projects have been successfully created. However, project creation and goal execution can be combined in one command by appending a -Dgoals parameter as shown in the examples below.

Example Usage

If the repository is not configured in your settings.xml then you have to supply the repository URL as an additional parameter to the mvn command:

-DarchetypeRepository=http://download.eclipse.org/stardust/maven/releases

If you chose to download the archetype catalog locally, then you can supply the location of the directory where you saved the catalog file:

-DarchetypeCatalog=file://C:/Stardust/misc/

This assumes that you have downloaded the archetype-catalog.xml into the C:/Stardust/misc/ folder. If you have renamed the archetype-catalog.xml file then you have to append the filename to the archetypeCatalog property, e.g. -DarchetypeCatalog=file://C:/Stardust/misc/stardust-archetype-catalog.xml

Runtime

mvn archetype:generate 
-DarchetypeGroupId=org.eclipse.stardust.deploy.jee.archetypes -DarchetypeArtifactId=tc7-stardust-portal-war
-DarchetypeVersion=3.1.1 -DgroupId=org.eclipse.stardust.test -DartifactId=stardust-portal-war -Dversion=1.0-SNAPSHOT

Command Line

mvn archetype:generate -DarchetypeGroupId=org.eclipse.stardust.deploy.jee.archetypes 
-DarchetypeArtifactId=sysconsole-client -DarchetypeVersion=3.1.1 -DgroupId=local -DartifactId=sysconsole -Dversion=1.0-SNAPSHOT 
-DarchetypeRepository=http://download.eclipse.org/stardust/maven/releases -Dgoals=generate-resources

Other Archetypes

While we are working on providing all available archetypes for Stardust, you can get free access to the Infinity Process Platform - the product Stardust originates from. After you followed the instructions on how to gain access to the IPP Maven Repository, you can authenticate against the ipp-libs repository with the username and password you picked when registering. Further repositories builds may require are: Maven Central and JBoss public. To access these repositories from Maven make sure they are configured in your Maven settings.xml as follows.

Repositories

<repositories>
...
  <repository>
    <id>ipp-libs</id>
    <url>https://infinity.sungard.com/repository/ipp-libs/</url>
  </repository>
  <repository>
    <id>central</id>
    <url>http://repo1.maven.org/maven2/</url>
  </repository>
  <repository>
    <id>public-jboss</id>
    <url>http://repository.jboss.org/nexus/content/groups/public-jboss</url>
  </repository>
...
</repositories>
Also configure the correct credentials for the ipp-libs repository as shown here:
<servers>
... 
  <server>
    <id>ipp-libs</id>
    <username>user.name</username>
    <password>clearTextPasswordOrPasswordHashFromRepository</password>
  </server>
...
</servers>

If you don't want to specify your password in clear text, you can encode it in the repository web portal:

  1. Go to https://infinity.sungard.com/repository Repository and login using your credentials
  2. Go to your user profile (link behind user name in upper right corner)
  3. Enter your password and press the Unlock button
  4. Copy the username and password section into your settings.xml as shown above


Archetypes

(https://infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml) that can be use to create the following Maven projects:


JBOSS 6.3 and 6.4 EAP

  • ipp-archetype-jb6-eap-ipp-ear - prepares an EAR deployment for JBoss 6.3/6.4 EAP and contains a console module which invokes the calls against an EAR deployment.

JBOSS 7.1

  • ipp-archetype-jb71-ipp-portal-war - prepares a WAR deployment for JBoss 7.1.

Tomcat 7

  • ipp-archetype-tc7-ipp-portal-war - prepares a Infinity Process Platform Portal WAR deployment for Tomcat 7.

Weblogic 11 (aka 10.3.3)

  • ipp-archetype-wls11-ipp-ear - prepares an EAR deployment for WebLogic 11 (aka 10.3.3) and provides a console environment for EJB.
  • ipp-archetype-wls11-ipp-portal-war - prepares a WAR deployment for WebLogic 11 (aka 10.3.3).

Weblogic 12 (aka 12.1.2)

  • ipp-archetype-wls12-ipp-ear - prepares an EAR deployment for WebLogic 12c (aka 12.1.2) and provides a console environment for EJB.
  • ipp-archetype-wls12-ipp-portal-war - prepares a WAR deployment for WebLogic 12c (aka 12.1.2).

Due to the WLS license restrictions this archetype requires the property wlfullclient.dir to be supplied as a parameter. The value should be the WLS folder in which the JAR wlfullclient.jar can be found.

Websphere 8

  • ipp-archetype-was8-ipp-ear - prepares an EAR deployment for WebSphere 8 and provides a console environment for EJB.
  • ipp-archetype-was8-ipp-portal-war - prepares a WAR deployment for WebSphere 8.

Commandline Tools

  • ipp-archetype-console-spring-client - creates a Spring based console environment.
  • ipp-archetype-sysconsole-client - creates a sysconsole client environment.


The goal generate-resources (for console and sysconsole) has to be executed after the corresponding projects have been successfully created. However, project creation and goal execution can be combined in one command by appending a -Dgoals parameter as shown in the examples below.

M2 Eclipse Plugin

Introduction

The Maven Eclipse plugin is extremely helpful when working with maven projects under eclipse. It

  • allows you to create and import Maven projects
  • includes a form-based POM Editor
  • manages dependencies and integrates them with the Eclipse classpath
  • automatically downloads and updates dependencies
  • resolves artefact Javadoc and source
  • creates projects based on Maven archetypes
  • supports browsing and searching of remote and local Maven repositories
  • manages POMs with automatic updates to the dependency list
  • adapts nested multi-module Maven projects to the Eclipse IDE
  • provides integration with the Web Tools Project (WTP)
  • integrates with Subclipse and Mylyn
  • generates graphical displays of the dependency graph
  • allows to run maven goals from the IDE
  • ...

You can learn more about the plugin here: http://www.sonatype.com/books/m2eclipse-book/reference/.

Installation

In Eclipse Kepler and higher versions the plugin can be installed via the Eclipse marketplace.

Installation instructions for Eclipse helios can be found here: http://www.sonatype.com/books/m2eclipse-book/reference/install-sect-marketplace.html

Apart from the required M2E plugin it is recommended to additionally install the optional "Maven Integration for WTP" plugin from the M2E Extras section.

The following update sites have been proven to work well with Eclipse Luna:

Stardust Archetype Catalog Configuration

Please make sure your M2 Eclipse uses a properly configured Maven version as described in the Troubleshooting section.

Remote Archetype Catalog

Before you can use the Stardust Archetype Catalog with M2 Eclipse you need to configure the catalog initially. When creating a new Maven project with M2 Eclipse you will be present with the archetype selection dialog.

AddStardustArchetypeCatalog.gif


Local Archetype Catalog

You can also add the Stardust archetype catalog as a local catalog to M2Eclipse.

Creating a local Stardust Archetype Catalog in M2 Eclipse


Create Stardust Archetype Project

In order to create a new Maven project which is based on a Stardust Archetype, please click on the File/New/Other... menu item. In the upcoming dialog search for Maven Project and step through the wizard until you can choose the Catalog. Select the corresponding Catalog file, e.g. Stardust Archetype Catalog or Local Stardust Archetype Catalog and the Archetype you want to install. In the last step enter Maven coordinates (Group Id, Artifact Id and Version) which the newly project should have.

Browsing the local Stardust Archetype Catalog in M2 Eclipse


IPP Archetype Catalog Configuration

The steps are mostly identical to the one from the Stardust Archetype Catalog Configuration, except the URL of the Archetype catalog file. For IPP it is: https://user.name:clearTextPasswordOrPasswordHashFromRepository@infinity.sungard.com/repository/ipp-releases/archetype-catalog.xml whereby user.name and clearTextPasswordOrPasswordHashFromRepository must be replaced with your IPP credentials (how you have provided them for the ipp-libs server entry in the settings.xml).

Troubleshooting

  • Add wagon-http Jar if you are using Maven 3.0.4 behind a Proxy

Maven 3.0.4 has a bug preventing it from downloading dependencies from behind a proxy. An error starting with "Failed to retrieve plugin descriptor …" will appear. Either switch to Maven 3.0.3 or download repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/2.2/wagon-http-lightweight-2.2.jar and add it to Maven's \lib\ext sub folder.

  • Check if the repository password or password hash in your setting.xml is up-to-date

If your password hash is outdated then Maven unfortunately won't display an meaningful error message. It will simply not download the artifacts from the repository. Instead Maven will try to fetch the artifacts from the other configured repositories. Finally the build will fail with an error message indicating that the artifact could not be downloaded. Log into the repository web app, click on your name and generate a new password hash. Then update the password hash in your settings.xml with the new value.

  • Remember to run generate-resources goal

If you want to use the command line tools console or sysconsole and cannot find the bat / sh files then you may have forgotten to run the goal generate-resources.

  • Make sure you are using the right Maven installation / settings.xml

If you experience any problems in using the Stardust archetype catalog or in building Maven projects using M2 Eclipse, then this may be due to the fact that your M2 Eclipse is configured to use the embedded Maven version that ships with it. Unless you configured it accordingly this Maven version uses another settings.xml which does not contain the credentials and repositories required to access the archetype catalog and the artifacts in the repository.

M2EclipseCouldNotFindArchetype.gif

An easy solution is to change the Maven version used by M2 Eclipse to a correctly configured Maven version (Probably you have a Maven version which you use outside Eclipse which is configured correctly).

ChangingM2EclipseMavenVersion.gif


  • Make sure that you have a valid local Maven cache

The same error as in Make sure you are using the right Maven installation / settings.xml can happen if your local Maven cache contains invalid metadata entries for the Archetypes. To fix that please open your Maven cache in a file browser and delete the folders org/eclipse/stardust/deploy/jee/archetypes and com/infinity/bpm/archetypes if they exists. This forces the M2 Eclipse plugin to download the Archetypes again and to evaluate which latest released version can be used.

  • Make sure that you have configured the credentials properly (IPP only)

According to the Maven Archetype FAQs your settings.xml file needs some further server entries if you want to create Maven projectes which are based on the IPP Archetypes (see section Other Archetypes for a list of artifacts). This means that you must provide server entries for each IPP Archetype that you want to use. These entries must be in the following format [archetypeArtifactId]-repo whereby the pattern [archetypeArtifactId] must be replaced with the corresponding artifactId of the IPP Archetype. So an example server entry for the JBoss 7.1 Archetype can look as follows:

<servers>
... 
  <server>
    <id>ipp-archetype-jb71-ipp-portal-war-repo</id>
    <username>user.name</username>
    <password>clearTextPasswordOrPasswordHashFromRepository</password>
  </server>
...
</servers>


Back to the top