Liferay Offers many ways to develop Plugin applications development we already much aware of Liferay IDE and ANT based plugins development
Liferay plugins development with MAVEN is also great choice for liferay developers.
What is MAVEN?
MAVEN is project build tool like ANT but its has more features than ANT when we build projects using MAVEN.
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
Each Maven project consist pom.xml in project root directory where we will defined project build process.
POM is project object model is one of the build process system which describes about software project and POM will be specified as xml tag notation in pom.xml file.
pom.xml is blueprint of the project and it describes your project’s directories, required plugins, build sequence, and dependencies. The POM is your project’s sole descriptive declaration. Once you create the pom.xml file and invoke the build process.
Entire project structure defined in pom.xml so that we can manage entire project from single point and it is easy when we compare with ANT because ANT build process will be defined in different build.xml files. MAVEN projects are very easy to understand by developers
Maven provides an easy way to share artifacts (e.g., JARs, WARs, etc.) across projects via public repositories.
Liferay plugins SDK provides project templates to build sample Plugin applications in the same way Liferay provides maven archetypes from which we can create different sample liferay plugins applications.
Archetypes are the template of project structure and it consist of all required configurations,its files and directory structure.
We can have different archetypes like spring archetypes,struts archetypes and web application archetypes from this we can create basic project structure from there we can start development.
Same way liferay also have created different archetypes for each Plugin type so that we can create basic Plugin projects very easy.
Liferay Plugin Development with MAVEN
The following are are the required steps
Install JAVA
Install MAVEN
Install Liferay Portal Server Bundle
Install Liferay MAVEN Archetypes
Download Eclipse+Liferay IDE
Create Liferay Plugin Maven Project from Liferay IDE
Install JAVA
Liferay Java based portal so first we need to install Java in our machine download JDK 1.6 or later version and install.
we need to set important environment variables such as JAVA_HOME and need to edit path system variable and add java bin path(;%JAVA_HOME%/bin;). We need Java 6.0 JRE or greater.
Java Installation follow below link look into section “Install JDK and setting required environment variables (JAVA_HOME, path)”
Install MAVEN
We are using MAVEN based project building so first we need install MAVEN in machine and we also need to set environment variable like MAVEN_HOME/M2_HOME and edit the path then append MAVEN bin path.
Install MAVEN in Windows.
Download latest version of MAVEN archive file from apache maven download site
Download Maven 3.2.3 (Binary zip) archive file from above link
Extract zip file in any of desired location assume we have extracted in C drive then our maven home path will be C:\apache-maven-3.2.3
Now need to add M2_HOME and MAVEN_HOMEsystem variables in the Windows environment, and point it to your Maven folder (C:\apache-maven-3.2.3)
Select Start, then right-select Computer --> Properties.
In the Advanced tab, click Environment Variables….
In the System variables section, click New
variable : M2_HOME
value : C:\apache-maven-3.2.3
variable : MAVEN_HOME
value : C:\apache-maven-3.2.3
Once we created two maven environment variables now we need to edit windows PATHvariable then append Maven bin folder like ;%M2_HOME%\bin;so that you can run the Maven’s command everywhere.
In the System variables section, select your PATH variable and click Edit….
Append ;%M2_HOME%\bin; end of the existed path.
Now open windows command prompt then type following command then will shows maven version message otherwise there is problem in installation so need to recheck all steps.
mvn –version
Note:
semicolon in the path will separate the different path values so we should not forget to use semicolon.
Install MAVEN in Ubuntu
Open Ubuntu terminal
Run command sudo apt-get install maven, to install the latest Apache Maven.
It will take time to install all maven packages once it successfully done Run command mvn -versionto verify your installation.
Manual Installation in Linux
Go apache MAVEN download site and download apache-maven-3.2.3-bin.tar.gz archive file
Extract in your desired location assume in opt directory then maven home path will be /opt/apache-maven-3.2.3
Now we need to configure maven environment variables in bash.bashrc or “/etc/profile”
bash.bashrcfile will be available in /etc/bash.bashrc folder open in editor and add following configurations.
M2_HOME=/opt/apache-maven-3.2.3
PATH=$PATH:$M2_HOME/bin
export M2_HOME
export PATH
Run command mvn -version in the terminal to verify your installation
Install Liferay Portal Server Bundle
First we need to download portal server bundle based on developer choice. Once we downloaded bundle archive file then extract it in you desired location then you can see portal server bundle that consist application server with deployed liferay portal.
Liferay Portal Server is actual environment to run liferay Plugin applications. Liferay Portal Run time come up with different application servers such as tomcat,jboss,glashfish, jetty, geromino, JOnAS and resin.
Liferay provided these run time bundle with different server so that we can use any one based on developer choice.
Assume we will use tomcat bundle so download liferay-portal-tomcat-6.2-ce-ga2.zip from above location.
Now extract zip file in of your desired location now we are ready with liferay portal tomcat server.
Liferay Server Bundle Consist Application server and Deployed Liferay Portal Application. When we observed server deployment directory(for tomcat/webapps) we can see deployed Liferay Portal application with name ROOT.
Install Liferay MAVEN Archetypes
We are developing plugins with maven so we need to install liferay maven archetypes. Liferay maven archetypes are like project templates consist all required configurations and its files.
Download Liferay Portal Maven archive file(liferay-portal-maven-6.2-ce-ga2.zip) from following location
Now extract file on any of your desired location now we need to install liferay maven archetypes.
To install maven archetypes first we need to install ANT tool in our machine because maven archetypes used ANT build mechanism that is why we should install ANT tool
Install maven archetypes is nothing but we will place all requires liferay maven plugins and jar files in the local maven repositories that is (${USER_HOME}/.m2/repository)
Install ANT
Once you downloaded zip file extract in your desired location and we need to set ANT system environment variable in our machine.
We need to create ANT_HOME and we need to append ANT bin path in “path” environment variable.
Set ANT Environment Variable in Linux
Assume We have extracted ANT in the location “/opt/apache-ant-1.9.4”
Now ANT_HOME is “/opt/apache-ant-1.9.4” and ANT bin path is “$ ANT_HOME/bin”
Generally in the Linux we will use “.profile” or “bash.bashrc” file to set all environment variables. Now open .bash_profile file in editor and add following configuration then save it.
export ANT_HOME=/opt/apache-ant-1.9.4
export PATH=$PATH:$ANT_HOME/bin
Now open Linux Terminal type “ant -version” then it show ant version now you have successfully installed ANT.
Set ANT Environment Variable in Windows
Select Start, then right-select Computer --> Properties.
In the Advanced tab, click Environment Variables.
In the System variables section, click New
Set the ANT_HOME variable:
Variable name: ANT_HOME
Variable value: [Ant installation path] (e.g., C:\apache-ant-[version])
Click OK.
Also in the System variables section, select your path variable and click Edit….
Insert ;%ANT_HOME%\bin; end of the existed path value and click OK.
Click OK to close all system property windows.
Open a new command prompt “ant -version” then it show ant version now you have successfully installed ANT.
Now we are ready with ANT tool
Now Install Liferay MAVEN Archetypes into Local Maven Repository(${USER_HOME}/.m2/repository)
Open command prompt/terminal based on your OS issue the following command
Navigate to liferay-portal-maven-6.2-ce-ga2 then issue following command
Navigate to liferay-portal-maven-6.2-ce-ga2 then issue following command
ant install
Console shows output from the artifacts being installed from the Liferay Maven package into your local repository, typically located in your ${USER_HOME}/.m2/repository directory. Local repository now contains the Liferay artifacts required to build Liferay plugins
Download Eclipse+Liferay IDE
Well as of now we are ready with MAVEN archetypes installed in maven local repository and Liferay Portal Server now we need a development IDE to create Liferay MAVEN Project.
Generally we need eclipse , Liferay IDE ,MAVEN Eclipse Plugin,Liferay IDE MAVEN Plugin.
The following are the required eclipse plugins to support Liferay MAVEN Environment in Eclipse.
m2e-core (Maven integration for Eclipse)
m2e-wtp (Maven integration for WTP)
m2e-liferay plugin
All together will be available in single package when we download Eclipse Liferay IDE from Liferay downloads.
Go through following link
Select Other download drop-down select Eclipse Luna + Liferay IDE 2.2.0-ga1 option based on your OS and its Bits
Now extract archive file in desired location then you can see root directory that is eclipse if you go to root directory then you can see eclipse icon when we double click on icon then eclipse will be started.
Create Liferay Plugin Maven Project from Liferay IDE
before start development now we will notice following things
Assume as follows
Create directory give name LiferayMaven in “/opt” then workspace path /opt/ LiferayMaven
Auto Deploy Directory: “/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/deploy ”
App Server Deploy Directory:”/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/webapps ”
App Server Lib Global Directory:”/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/lib/ext ”
App Server Portal Directory:”/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/webapps/ROOT ”
Liferay Version: 6.2.1
Start eclipse and select LiferayMaven is default work space.
Configure Liferay Portal Run Time In Liferay IDE
Eclipse Window → Preferences → Server → Runtime Environments.
Click Add to add a new Liferay runtime; find Liferay v6.2 (Tomcat 7) under the Liferay, Inc. category and click Next.
Click Browse and select your liferay-portal-6.2.x/tomcat-7.x(/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42)directory.
Click Finish; you should see your Liferay portal runtime listed in Preferences → Server → Runtime Environments.
Click OK to save your runtime preferences
Create Liferay Plugin Maven Project
Go liferay IDE icon and Click on “Create New Liferay Plugin Project”
Now it will launch Liferay Plugin Project Dialog window
Now fill all the fileds with appropriate values as follows
Project Name: liferay-sample-portlet
Project Display Name : Liferay Sample Portlet
Tick the check box “use default location” for Location
Build Type: Maven(liferay-maven-plugin)
Artifact version: keep default one
Gropuid: com.liferay.sample
Active Profile:
Click the icon “Create New Maven Profile Based on Liferay Run Time”
it will open another dialog window ask information as follows
Liferay Run Time: Liferay v6.2 CE(Tomcat)
Liferay Version: 6.2.1
Check the profile location radio button as “project pom.xml”
The following is Maven Profile Dialog
Then click on OK it will create maven profile with given values in project pom.xml
Now finally Liferay Plugin Project Dialog Look like as follows after fill all the thing
Now click on Next then you can move to next step there check the radio button Liferay MVC portlet then click on finish
source folder: use default
check the Create New Portlet Radio button
Portlet class: you choice
Java Package : your choice
Super Class: MVC portlet
Once we provided the information click on finish button then Plugin portlet project will be created.
The following is created Liferay Maven Plugin Portlet Project
In the project explorer you can see the project and every maven project have one xml file called pom.xml file there all build process will be defined.
Now click on pom.xml file then you can see default all build configuration like plugins definitions, configuration and dependencies information.
Now do the following changes in project pom.xml file
Comment/remove following lines
<execution>
<phase>generate-sources</phase>
<goals>
<goal>build-css</goal>
</goals>
</execution>
Find the following configuration
<configuration>
<autoDeployDir>${liferay.auto.deploy.dir}</autoDeployDir>
<appServerDeployDir>${liferay.app.server.deploy.dir}</appServerDeployDir>
<appServerLibGlobalDir>${liferay.app.server.lib.global.dir}</appServerLibGlobalDir>
<appServerPortalDir>${liferay.app.server.portal.dir}</appServerPortalDir>
<liferayVersion>${liferay.version}</liferayVersion>
<pluginType>portlet</pluginType>
</configuration>
Now replace above configuration with below configuration
<configuration>
<autoDeployDir>/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/deploy</autoDeployDir>
<appServerDeployDir>/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/webapps</appServerDeployDir>
<appServerLibGlobalDir>/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/lib/ext</appServerLibGlobalDir>
<appServerPortalDir>/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/webapps/ROOT</appServerPortalDir>
<liferayVersion>6.2.1</liferayVersion>
<pluginType>portlet</pluginType>
</configuration>
Note:
the above details are based on where your portal server resided.
find following tag and replace with version number
<version>${liferay.maven.plugin.version}</version>
Replace as
<version>6.2.1<version>
Change following tag in all dependencies from <version>${liferay.version}</version> to <version>6.2.1</version>
Add Other important liferay dependencies
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-client</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-impl</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-pacl</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-web</artifactId>
<version>6.2.1</version>
<type>war</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-bridges</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-java</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-slf4j</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-taglib</artifactId>
<version>6.2.1</version>
</dependency>
Note:
Above all dependencies should enclose by <dependencies></dependencies> tag.
Finally liferay Plugin portlet project pom.xml as follows
<?xmlversion="1.0"?>
<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.liferay.sample</groupId>
<artifactId>liferay-sample-portlet</artifactId>
<packaging>war</packaging>
<name>liferay-sample-portletPortlet</name>
<version>1.0.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.liferay.maven.plugins</groupId>
<artifactId>liferay-maven-plugin</artifactId>
<version>6.2.1</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>build-css</goal>
</goals>
</execution>
</executions>
<configuration>
<autoDeployDir>/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/deploy</autoDeployDir>
<appServerDeployDir>/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/webapps</appServerDeployDir>
<appServerLibGlobalDir>/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/lib/ext</appServerLibGlobalDir>
<appServerPortalDir>/opt/LiferayMaven/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/webapps/ROOT</appServerPortalDir>
<liferayVersion>6.2.1</liferayVersion>
<pluginType>portlet</pluginType>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-bridges</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-taglib</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-java</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-client</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-impl</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-pacl</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>6.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-web</artifactId>
<version>6.2.1</version>
<type>war</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-bridges</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-java</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-slf4j</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-taglib</artifactId>
<version>6.2.1</version>
</dependency>
</dependencies>
</project>
Now we have done all the required configuration in project pom.xml now we can deploy project.
Deploy Liferay Plugin Maven Project
Open command prompt or terminal and go to newly created liferay Plugin project location its generally in eclipse work space(LiferayMaven) then issue following command.
mvn package
once build was successful then issue following command to deploy into portal server
mvn liferay:deploy
now portlet will be deployed into portal and you can see build success message in the console
If portal already start then you can see Plugin deployment information in server log file.
Download sample liferay maven Plugin from below link when you use this project please make sure you should installed Liferay Maven Archetypes in your local and you have to change server configuration and versions information in the pom.xml file.
https://sourceforge.net/projects/meeralferay/files/SampleLiferayMaven/
The following pom.xml for liferay maven plugin portlet with liferay-portal-maven-6.2-ce-ga4
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.liferay.sample</groupId>
<artifactId>liferay-sample-portlet</artifactId>
<packaging>war</packaging>
<name>liferay-sample-portlet Portlet</name>
<version>1.0.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.liferay.maven.plugins</groupId>
<artifactId>liferay-maven-plugin</artifactId>
<version>${liferay.maven.plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>build-css</goal>
</goals>
</execution>
</executions>
<configuration>
<autoDeployDir>${liferay.auto.deploy.dir}</autoDeployDir>
<appServerDeployDir>${liferay.app.server.deploy.dir}</appServerDeployDir>
<appServerLibGlobalDir>${liferay.app.server.lib.global.dir}</appServerLibGlobalDir>
<appServerPortalDir>${liferay.app.server.portal.dir}</appServerPortalDir>
<liferayVersion>${liferay.version}</liferayVersion>
<pluginType>portlet</pluginType>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>${liferay.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-bridges</artifactId>
<version>${liferay.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-taglib</artifactId>
<version>${liferay.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-java</artifactId>
<version>${liferay.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>Liferay-v6.2-CE-(Tomcat-7)</id>
<properties>
<liferay.version>6.2.3</liferay.version>
<liferay.maven.plugin.version>6.2.2</liferay.maven.plugin.version>
<liferay.auto.deploy.dir>C:\MeerPrince\LiferayWorkSpace\bundles\deploy</liferay.auto.deploy.dir>
<liferay.app.server.deploy.dir>C:\MeerPrince\LiferayWorkSpace\bundles\tomcat-7.0.42\webapps</liferay.app.server.deploy.dir>
<liferay.app.server.lib.global.dir>C:\MeerPrince\LiferayWorkSpace\bundles\tomcat-7.0.42\lib\ext</liferay.app.server.lib.global.dir>
<liferay.app.server.portal.dir>C:\MeerPrince\LiferayWorkSpace\bundles\tomcat-7.0.42\webapps\ROOT</liferay.app.server.portal.dir>
</properties>
</profile>
</profiles>
</project>
The following pom.xml for liferay maven plugin portlet with liferay-portal-maven-6.2-ce-ga4
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.liferay.sample</groupId>
<artifactId>liferay-sample-portlet</artifactId>
<packaging>war</packaging>
<name>liferay-sample-portlet Portlet</name>
<version>1.0.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.liferay.maven.plugins</groupId>
<artifactId>liferay-maven-plugin</artifactId>
<version>${liferay.maven.plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>build-css</goal>
</goals>
</execution>
</executions>
<configuration>
<autoDeployDir>${liferay.auto.deploy.dir}</autoDeployDir>
<appServerDeployDir>${liferay.app.server.deploy.dir}</appServerDeployDir>
<appServerLibGlobalDir>${liferay.app.server.lib.global.dir}</appServerLibGlobalDir>
<appServerPortalDir>${liferay.app.server.portal.dir}</appServerPortalDir>
<liferayVersion>${liferay.version}</liferayVersion>
<pluginType>portlet</pluginType>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>${liferay.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-bridges</artifactId>
<version>${liferay.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-taglib</artifactId>
<version>${liferay.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-java</artifactId>
<version>${liferay.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>Liferay-v6.2-CE-(Tomcat-7)</id>
<properties>
<liferay.version>6.2.3</liferay.version>
<liferay.maven.plugin.version>6.2.2</liferay.maven.plugin.version>
<liferay.auto.deploy.dir>C:\MeerPrince\LiferayWorkSpace\bundles\deploy</liferay.auto.deploy.dir>
<liferay.app.server.deploy.dir>C:\MeerPrince\LiferayWorkSpace\bundles\tomcat-7.0.42\webapps</liferay.app.server.deploy.dir>
<liferay.app.server.lib.global.dir>C:\MeerPrince\LiferayWorkSpace\bundles\tomcat-7.0.42\lib\ext</liferay.app.server.lib.global.dir>
<liferay.app.server.portal.dir>C:\MeerPrince\LiferayWorkSpace\bundles\tomcat-7.0.42\webapps\ROOT</liferay.app.server.portal.dir>
</properties>
</profile>
</profiles>
</project>
Important Points
The configuration in pom.xml will be changed based on your environment like version number, server configuration and dependencies versions.
The above maven setup we have installed maven archetypes in our local repository that is /.m2/repository.
http://sourceforge.net/projects/lportal/files/Liferay%20Portal/6.2.1%20GA2/We have created liferay maven project from Liferay IDE tool without Liferay IDE also we can create liferay plugins from command prompt/terminal.
We have create Pluginv portlet project apart from that we can also create all liferay plugins like hook,web,ext,theme and layouttpl from liferay maven archetypes.
Author
0 comments:
Post a Comment