A typical portlet should have the following structure:
Source code files:
Java source code is stored in the < project name >/DOCROOT/WEB-INF/SRC directory
Configuration file:
Configuration files are in the < project name >/docroot/web-inf directory, typically 4 profiles
Portlet.xml is a JSR-286-related configuration that acts as a deployment profile for a portlet
The remaining 3 configuration files are related to Liferay:
Liferay-display.xml file shows which category the Portlet is under in the Add menu
The Liferay-portlet.xml file shows what enhancements Liferay has made to JSR-286, such as configuring whether a portlet is instantiated, as shown in line 6th of the following code:
<liferay-portlet-app> <portlet> <portlet-name>clusternodeinfoportlet</portlet-na me> <icon>/icon.png</icon> <instanceable>false</instanceable>
The Liferay-plugin-package.properties file is typically used to configure the jar packages that this portlet relies on, and the portlet is packaged into war.