如何使用Manager Web App嵌入嵌入式tomcat

沙本克

想法是要有一个自包含的项目(至少要用于开发),而无需配置外部tomcat-但是使用tomcat7-maven-plugin的问题是,如果我错了,请纠正我的嵌入式版本的tomcat不包含“管理器”应用程序-我只是不想每次都重新运行整个服务器。

因此,问题是,将管理器Webapp集成到嵌入式tomcat的最佳方法是什么?

约翰尼斯

Manager按照@olamy在他的解决方案中的建议进行工作。由于运行它仍然是一项艰巨的工作,并且我的解决方案与他的解决方案有所不同,并且由于有关此信息在互联网上很少见,因此我将详细介绍如何做到这一点。

首先,这是我的WAR的项目结构:

WAR结构图

我下载了manager.war从提供的链接@olamy文件,并把它放在里面WEB-INFtomcat/manager为了方便起见,我将WAR文件留在了那里,但是您可以在提取其内容之后将其删除,如上面的屏幕快照所示。实际上,您可以将文件夹自由放置在所需的任何位置,只需确保在中更新了该文件夹的document base属性server.xml

pom.xml里面配置tomcat7-maven-plugin如下:

<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
    <port>9090</port>
    <path>/webapp</path>
    <serverXml>./src/main/tomcat/conf/server.xml</serverXml>
    <contextFile>./src/main/tomcat/conf/context.xml</contextFile>
    <tomcatUsers>./src/main/tomcat/conf/tomcat-users.xml</tomcatUsers>
    <tomcatLoggingFile>./src/main/tomcat/conf/logging.properties</tomcatLoggingFile>
    <additionalConfigFilesDir>./src/main/tomcat/conf</additionalConfigFilesDir>
</configuration>

请注意,尽管additionalConfigFilesDir告诉了插件在服务器启动之前要在哪里寻找配置文件并确保将文件复制到正确的文件夹,但是如果没有在插件中明确提及单独的配置文件,我将无法使其正常工作。相应的标签。logging.properties并且context.xml可以省略,但server.xmltomcat-users.xml在其相应的标签被提及的Manager工作。

因此,这是这两个文件的内容:

server.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server port="9090" shutdown="SHUTDOWN">
    <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
    <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

    <GlobalNamingResources>
        <!-- Used by Manager -->
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" readonly="true"/>
    </GlobalNamingResources>

    <Service name="Catalina">
        <Connector port="9090" keepAliveTimeout="1800000" maxKeepAliveRequests="30000" maxThreads="300"/>
        <Engine name="Catalina" defaultHost="localhost">
            <Valve className="org.apache.catalina.valves.AccessLogValve" resolveHosts="false" buffered="false"
                   pattern="%t-ip:%a-protocol::%H-status:%s-localPort:%p-path:%U-time:%D ms"/>
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
            <Host name="localhost" appBase="webapps" autoDeploy="true" unpackWARs="true" deployXML="false">
                <Context path="/manager" docBase="../../<your WAR root folder name>/WEB-INF/tomcat/manager" privileged="true"/>
            </Host>
        </Engine>
    </Service>
</Server>

tomcat-users.xml

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
    <role rolename="manager"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="admin" password="password" roles="manager, manager-gui, manager-script"/>
</tomcat-users>

使用Tomcat 7启动后,mvn tomcat7:run-war我可以Manager通过URL http:// localhost:9090 / manager和凭据admin/登录到password

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用嵌入式Tomcat 8运行Spring Web App(JDK 8)

来自分类Dev

使用嵌入式 Tomcat 的 Web 应用程序仅适用于 IDE

来自分类Dev

使用web.xml配置嵌入式码头吗?

来自分类Dev

使用FastCGI的嵌入式Web服务器

来自分类Dev

如何使用嵌入式Jetty打包和部署Web应用

来自分类Dev

如何手动关闭嵌入式Tomcat?

来自分类Dev

如何在嵌入式tomcat中添加ServletContextListener

来自分类Dev

将Guice与嵌入式Tomcat一起使用?

来自分类Dev

使用Spring嵌入式tomcat(.jar)公开资源

来自分类Dev

如何在ActiveMq嵌入式代理上启用Web控制台

来自分类Dev

如何配置嵌入式Jetty来拾取Web片段?

来自分类Dev

使用嵌入式Jetty运行Web应用程序(WAR)

来自分类Dev

使用嵌入式Web浏览器浏览网页的低谷对象

来自分类Dev

使用嵌入式码头服务器运行Web应用程序(WAR)

来自分类Dev

带有嵌入式Web服务器的PhantomJS仅使用一个CPU

来自分类Dev

使用buildroot构建的嵌入式apache Web服务器中的PHP

来自分类Dev

嵌入式Web UI设计器

来自分类Dev

Java:在嵌入式Tomcat上测试Web应用程序(Tomcat无法启动)

来自分类Dev

如何使用JavaFx Java 1.7在嵌入式Web浏览器中支持window.print()

来自分类Dev

如何使用嵌入式视图模型

来自分类Dev

Spring Boot Web应用程序中的嵌入式Tomcat并非以module-info开头

来自分类Dev

如何在嵌入式Tomcat上定义tomcat-users.xml?

来自分类Dev

如何使用嵌入式tomcat会话集群设置Spring Boot应用程序?

来自分类Dev

如何使用嵌入式Tomcat 8和Spring Boot将子域转换为路径

来自分类Dev

如何使用注释代替XML在嵌入式Tomcat中创建自定义组件标签

来自分类Dev

如何在Visual Basic 2010中通过Web浏览器从嵌入式资源加载.html文件

来自分类Dev

如何设置Silverlight浏览器应用程序与嵌入式Web浏览器控件之间的通信

来自分类Dev

使用Windows 10的Visual Studio中的嵌入式Web浏览器控件将发生什么

来自分类Dev

如何正常关闭嵌入式码头

Related 相关文章

  1. 1

    如何使用嵌入式Tomcat 8运行Spring Web App(JDK 8)

  2. 2

    使用嵌入式 Tomcat 的 Web 应用程序仅适用于 IDE

  3. 3

    使用web.xml配置嵌入式码头吗?

  4. 4

    使用FastCGI的嵌入式Web服务器

  5. 5

    如何使用嵌入式Jetty打包和部署Web应用

  6. 6

    如何手动关闭嵌入式Tomcat?

  7. 7

    如何在嵌入式tomcat中添加ServletContextListener

  8. 8

    将Guice与嵌入式Tomcat一起使用?

  9. 9

    使用Spring嵌入式tomcat(.jar)公开资源

  10. 10

    如何在ActiveMq嵌入式代理上启用Web控制台

  11. 11

    如何配置嵌入式Jetty来拾取Web片段?

  12. 12

    使用嵌入式Jetty运行Web应用程序(WAR)

  13. 13

    使用嵌入式Web浏览器浏览网页的低谷对象

  14. 14

    使用嵌入式码头服务器运行Web应用程序(WAR)

  15. 15

    带有嵌入式Web服务器的PhantomJS仅使用一个CPU

  16. 16

    使用buildroot构建的嵌入式apache Web服务器中的PHP

  17. 17

    嵌入式Web UI设计器

  18. 18

    Java:在嵌入式Tomcat上测试Web应用程序(Tomcat无法启动)

  19. 19

    如何使用JavaFx Java 1.7在嵌入式Web浏览器中支持window.print()

  20. 20

    如何使用嵌入式视图模型

  21. 21

    Spring Boot Web应用程序中的嵌入式Tomcat并非以module-info开头

  22. 22

    如何在嵌入式Tomcat上定义tomcat-users.xml?

  23. 23

    如何使用嵌入式tomcat会话集群设置Spring Boot应用程序?

  24. 24

    如何使用嵌入式Tomcat 8和Spring Boot将子域转换为路径

  25. 25

    如何使用注释代替XML在嵌入式Tomcat中创建自定义组件标签

  26. 26

    如何在Visual Basic 2010中通过Web浏览器从嵌入式资源加载.html文件

  27. 27

    如何设置Silverlight浏览器应用程序与嵌入式Web浏览器控件之间的通信

  28. 28

    使用Windows 10的Visual Studio中的嵌入式Web浏览器控件将发生什么

  29. 29

    如何正常关闭嵌入式码头

热门标签

归档