RackSpace 云服务器 Ubuntu-12.04、JSF-2.0、Mojarra-2.1.17、Intellij Idea-11.1.2、Windows-8、Tomcat 7.0.26、JDK-6。
从这里可以看出,我正在尝试将我的项目部署到远程 Tomcat 服务器。由于 Intellij Idea 的远程服务器部署功能无法正常工作,我正在尝试手动进行。
我已将exploded war archive
文件夹(工件)/var/lib/tomcat7/webapps
放在服务器上并将文件夹重命名为 ROOT。这好像是;/var/lib/tomcat7/webapps/ROOT
从服务器上的命令行重新启动 Tomcat 后,可以通过 IPAddress:8080正确访问站点。启动页面看起来不错,即使它正确加载了它的 CSS。但是在尝试登录后,它不像在本地那样工作。问题不在于实施,因为它在本地机器上完美运行。
尝试登录后的堆栈跟踪:
javax.faces.FacesException
helpers.JSFHelper.getManagedBean(JSFHelper.java:27)
servlet.facebook.FacebookCallBackServlet.doPost(FacebookCallBackServlet.java:202)
servlet.facebook.FacebookCallBackServlet.doGet(FacebookCallBackServlet.java:48)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:145)
这是 JSFHelper 的 getManagedBean:
public static Object getManagedBean(final String beanName) {
FacesContext fc = FacesContext.getCurrentInstance();
Object bean;
try {
ELContext elContext = fc.getELContext();
bean = elContext.getELResolver().getValue(elContext, null, beanName);
} catch (RuntimeException e) {
throw new FacesException(e.getMessage(), e);
}
if (bean == null) {
throw new FacesException("Managed bean with name '" + beanName
+ "' was not found. Check your faces-config.xml or @ManagedBean annotation.");
}
return bean;
}