远程部署 wars 到 liferay 安装

远程部署 wars 到 liferay 安装

使用 vanilla tomcat,您可以POST访问下面的 URL SOMURL/manager/,并定义适当的管理员用户角色。但是,tomcat 的 liferay 部署缺少managerhost-manager应用程序,当我从 vanilla Tomcat 安装复制目录时,出现以下异常:

例外: javax.servlet.ServletException:分配 servlet 实例时出错

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    java.lang.Thread.run(Thread.java:636)

根本原因

java.lang.SecurityException: Servlet of class org.apache.catalina.manager.HTMLManagerServlet is privileged and cannot be loaded by this web application
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    java.lang.Thread.run(Thread.java:636)

将战争远程部署到liferay实例的正确方法是什么? (在我的例子中,不是portlet。)

答案1

我相信 tomcat 的管理器应用程序在 conf/Catalina/localhost/manager.xml 中有一些额外的权限 - 在标准 tomcat 安装中找到它并对您的 liferay/tomcat 包执行相同操作,那么部署这个应用程序应该没有问题。

也可能在 conf/server.xml 中...

相关内容