2

我正在使用 tomcat maven 插件,版本 2.0-beta-1 和 tomcat6 版本。我可以使用命令

mvn tomcat6:run

我可以访问我的网络应用程序。但我无法访问管理器应用程序。我尝试时得到一个空白页:

http://localhost:8080/manager
http://localhost:8080/manager/html

我试图配置 tomcat-users.xml 文件,但仍然没有...

这会是关机命令不起作用的原因吗?

mvn tomcat6:shutdown

知道为什么它不起作用吗?我已经用谷歌搜索了很长时间,但没有找到任何东西。

4

2 回答 2

2

当然@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

于 2012-08-16T00:31:26.900 回答
2

管理器应用程序未与嵌入式版本一起部署。你的用例是什么?CTRL+c 将关闭 maven 和嵌入的 tomcat。

于 2012-07-03T18:01:47.877 回答