使用 vanilla tomcat,您可以POST
访问下面的 URL SOMURL/manager/
,并定义适当的管理员用户角色。但是,tomcat 的 liferay 部署缺少manager
和host-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 中...