This is the short instructions to show you how to build the entire exo portal with maven2 1) For simplicity, we suggest you to have the following directory structure ${exo.directory.base}/ eclipse/ projects/ v2.x exo-dependencies/ tomcat-5.0.28 tomcat-5.5.13beta jboss jonas exo-working/ exo-tomcat exo-jboss/ exo-jonas exo-releases/ exo-tomcat.zip exo-jboss.zip maven2/ eclipse-workspace/ exo-v2.x 2) The thirdparty tools and dependencies * Download the maven 2 and install it in the ${exo.directory.base} as show above. Make sure you add the $M2_HOME dir to your executable $PATH so you can run the command mvn or m2 from' any directory. (YOU NEED TO USER MAVEN VERSION 2.0.1 OR HIGHER) * Download the the tomcat version 5.0.28 or 5.5.13beta and install in ${exo.directory.base}/exo-dependencies/tomcat-${version}. You can remove the unused webapp such jsp-servlets , servlet-examples ... in tomcat/webapps so your tomcat will launch faster and consumes less memory. * For tomcat and jboss , you need to remove all jar files in tomcat/common/endorsed and jboss/lib/endorsed dir. Those xml jar files contains older code than the code in jdk1.5 3) Check out or download exo src * Download exo src and extract it into ${exo.directory.base}/projects/v2.x OR * Checkout code from the svn with the command svn checkout svn://svn.forge.objectweb.org/svnroot/exoplatform v2.x Make sure you run the command in ${exo.directory.base}/projects/ in order to have the above directory structure. 4) Install maven exo plugin * Copy the v2.x/settings.xml to your $HOME/.m2/settings.xml. Open it and adjust the ${exo.directory.base} and tomcat version according to your environment. * Go to exo-tools/maven2/plugins/exo and run the command mvn install, this command will add the exo plugin to maven plugin repository 5) Build exo portal * In v2.x directory , run "mvn install". This command will install the shared pom.xml (or parent pom.xml) for the other exo modules. * Go to v2.x/exo-assembly/portal and You can run instructions either in A or B to buil A) mvn -f modules.xml clean install mvn clean install This method is still in the experimentation phase and usually have the dependency problem OR B) cd $EXO_SRC_CODE/exo-platform && mvn clean install && cd $EXO_SRC_CODE/exo-portal && mvn clean install && cd $EXO_SRC_CODE/exo-assembly/portal && mvn clean install If you configure exoenv.sh , you can run B in one command mvnbuildportal * In v2.x/exo-assembly/portal, run "mvn exo:platform -Ddeploy=newTomcat", This command will copy the clean tomcat in your exo-dependencies to exo-working/exo-tomcat * In v2.x/exo-assembly/portal, run "mvn exo:platform -Ddeploy=tomcat", This command will copy the portal.war , it dependencies that we declare in pom.xml , and patched tomcat configuration files ../share/patch-tomcat to your exo-working/exo-tomcat 6) Run exo portal * Go to exo-working/exo-tomcat/bin, run the command exo-run.sh or exo-run.bat * Go to exo-working/exo-tomcat/bin, run the command exo-run.sh or exo-run.bat. Note that the different in startup.sh and exo-run.sh is : ##################################################################################### # EXO CONFIGURATION # ##################################################################################### LOG_OPTS="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog" SECURITY_OPTS="-Djava.security.auth.login.config=../conf/jaas.conf" JAVA_OPTS="$LOG_OPTS $SECURITY_OPTS $JAVA_OPTS" ##################################################################################### # END EXO CONFIGURATION # ##################################################################################### So if you want to run the tomcat startup.sh or startup.bat , You need to configure the $JAVA_OPTS as show above * From the bowser use the following link to access the pre-configured portal : http://localhost:8080/portal/faces/public/exo http://localhost:8080/portal/faces/public/community http://localhost:8080/portal/faces/public/company FOR DEVELOPER In short , in order to build and deploy portal successfully , you need to install all the parent-pom.xml and run the the following command cd $EXO_SRC_CODE/exo-platform && mvn clean install && cd $EXO_SRC_CODE/exo-portal && mvn clean install && cd $EXO_SRC_CODE/exo-assembly/portal && mvn clean install && mvn exo:platform -Ddeploy=newTomcat && mvn exo:platform -Ddeploy=tomcat SHELL ALIAS : There are many convienent alias command that allow to deploy a single module, the resources of a module to exo-working/server or build the entire portal in one alias command. In order to use those alias , you need to use bash shell or cygwin on the window. Go to exo-tools/os/linux/ and copy the exoenv.sh to your $HOME directory. Customize the variable in exoenv.sh according to your environment. To use the alias command , just run To clean a module , go to the module and run mvn clean To clean all the modules in exo-platform/ , exo-portal .., go to exo-${module} and run mvn clean source $HOME/exoenv.sh MAVEN AND ECLIPSE To generate the .classpath and .project , you need to run the command : mvn -f modules.xml eclipse:eclipse You need to run this command from exo-assembly/cms or exo-assembly/portal in order maven plugin can generate the correct .classpath and link your source code