Is the Portlet Definition Id correct?
During the publish step make sure this value is correct. It must be the name of the web app, case sensitive, followed by a period, followed by the name of the portlet from the portlet.xml file.
If the webapp is named Coffee (perhaps exploded from Coffee.war), and portlet.xml contains declaration
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> <portlet> <description xml:lang="en">Displays menu of available French Press prepared coffees.</description> <portlet-name>french_press</portlet-name> <display-name xml:lang="en">French Press Coffees</display-name> <portlet-class>org.jasig.portlet.coffee.FrenchPressPortlet</portlet-class> <expiration-cache>60</expiration-cache> <init-param> <name>coffeeCategory</name> <value>french_press</value> </init-param> <supports> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> </supports> <supported-locale>en</supported-locale> <portlet-info> <title>French Press Cofeees</title> <short-title>French Press</short-title> <keywords>coffee, french press, menu</keywords> </portlet-info> </portlet> <portlet-app>
then the Portlet Definition Id is "Coffee.french_press".
Webapp name is case sensitive
Sometimes during deploy on a windows box, windows will 'allow' a name to be used that is different case then the .zip file is currently named.
The 'case' that must be used during the publish step in channel manager, must be whatever was used during the deploy step. This can be 'verified' by looking in the tomcat webapps directory. The 'name' of the directory is located there, match that case.