当然@olamy 是正确的(他应该知道,他构建了它),因为 Tomcat Maven 插件不运行管理器应用程序。
但是,如果您只想在 Eclipse 中运行 WAR 并对 servlet 容器进行大量控制,我强烈建议您在简单的 Java 命令行应用程序中运行嵌入式 Tomcat。您甚至可以调试您的 WAR 代码,当它退出时,它也会关闭 Tomcat。
我写了一个小包装应用程序来满足我的需求(它也托管 Jetty 和 Glassfish,但不完全):
https ://bitbucket.org/mckamey/war-bootstrap
我使用的专门设置和运行 Tomcat 的代码基本上如下所示:
Tomcat server = new Tomcat();
server.setBaseDir(new File("tomcat").getCanonicalPath());
server.setPort(port);
// I have a Map<String,String> of CONTEXT=WAR pairs
for (String contextPath : contexts.keySet()) {
String warPath = contexts.get(contextPath);
server.addWebapp(contextPath, warPath);
}
server.start();
// do something to prevent this thread from ending
System.out.println("Press ENTER to exit.");
System.in.read();
server.stop();
server.destroy();
还有更多的例子:http:
//people.apache.org/~markt/presentations/2010-11-04-Embedding-Tomcat.pdf