Java Tomcat管理器未显示嵌入式版本

Java Tomcat管理器未显示嵌入式版本,java,maven,tomcat6,maven-tomcat-plugin,Java,Maven,Tomcat6,Maven Tomcat Plugin,我正在使用TomcatMaven插件,版本2.0-beta-1和tomcat6版本。我可以使用命令 mvn tomcat6:run 我可以访问我的网络应用程序。但我无法访问manager应用程序。我尝试时得到了一张空白页: http://localhost:8080/manager http://localhost:8080/manager/html 我试图配置tomcat-users.xml文件,但仍然没有任何结果 这是关机命令不起作用的原因吗 mvn tomcat6:shutdown

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

mvn tomcat6:run
我可以访问我的网络应用程序。但我无法访问manager应用程序。我尝试时得到了一张空白页:

http://localhost:8080/manager
http://localhost:8080/manager/html
我试图配置tomcat-users.xml文件,但仍然没有任何结果

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

mvn tomcat6:shutdown

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

manager应用程序未部署嵌入式版本。
您的用例是什么?CTRL+c将关闭maven和嵌入的tomcat。

当然@olamy是正确的(他应该知道,他构建了它),因为tomcat maven插件不运行manager应用程序

但是,如果您希望在Eclipse中运行WAR,并对servlet容器拥有大量控制权,我强烈建议您在一个简单的Java命令行应用程序中运行嵌入式Tomcat。您甚至可以调试到您的WAR代码中,当它退出时,它也会关闭Tomcat

我在这里编写了一个满足我需求的小包装器应用程序(它也托管Jetty和Glassfish,但不完全):

我使用的专门设置和运行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();
Tomcat服务器=新的Tomcat();
setBaseDir(新文件(“tomcat”).getCanonicalPath());
server.setPort(端口);
//我有一张上下文=战争对的地图
for(字符串contextPath:contexts.keySet()){
字符串warPath=contexts.get(contextPath);
addWebapp(contextPath,warPath);
}
server.start();
//请采取措施防止此线程结束
System.out.println(“按回车键退出”);
System.in.read();
server.stop();
server.destroy();
还有更多的例子:

我没有在pom.xml文件中添加任何额外的参数。我的情况是,我想从Eclipse作为外部工具运行它。但是如果我停止在eclipse控制台中启动的进程,Tomcat仍然在运行。作为tomcat JVM的控制台的“子”线程不是kill。我希望有一种方法可以从Eclipse中关闭它,而不是在Maven构建线程中使用Ctrl+C子线程。Tomcat Embedded在同一个线程中启动(没有jvm分叉)。抱歉,我没有使用eclipse,但可能有一种方法可以停止maven构建?仅使用CTRL+C…:(对于jetty,如果您配置了“停止”端口,它就可以工作