当前位置: 首页 > 面试题库 >

运行Tomcat并使用自己的server.xml部署项目

梁和颂
2023-03-14
问题内容

我只想运行一个已经使用pom.xml在Maven项目中配置的Web项目。它使用maven tomcat7-maven-
plugin部署Web应用程序工件,并且此时一切正常。

现在,我想在tomcat配置中添加自己的server.xml和tomcat-users.xml。我读到我需要添加以下几行。

 <serverXml>src/main/resources/tomcat/server.xml</serverXml>
 <tomcatUsers>src/main/resources/tomcat/tomcat-users.xml</tomcatUsers>

那很好。它现在可以正常工作,并且使用上面的配置文件部署了tomcat,但是问题是> Web应用程序构件没有在那里部署
(当我运行tomcat7:run时不会自动部署)。似乎插件未检测到工件,它只是启动了tomcat服务器,而没有使用新的配置文件将工件添加到webapps中。

我使用此配置。

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0</version>
    <executions>
          <execution>
            <id>tomcat-run</id>
            <goals>
              <goal>exec-war-only</goal>
            </goals>
            <phase>package</phase>
           <configuration>
        <url>http://localhost:8080/web-services</url>
        <path>/web-services</path>
        <serverXml>src/main/resources/tomcat/server.xml</serverXml>
                <tomcatUsers>src/main/resources/tomcat/tomcat-users.xml</tomcatUsers>
                   <warRunDependencies>
                    <warRunDependency>
                     <dependency>
                        <groupId>com.koitoer.webservices</groupId>
                        <artifactId>web-services</artifactId>
                        <version>1.0-SNAPSHOT</version>
                        <type>war</type>
                      </dependency>
                    <contextPath>/web-services</contextPath>
                </warRunDependency>
              </warRunDependencies>
    </configuration>
    </execution>
        </executions>
</plugin>

但是tomcat开始部署webapp工件,但不使用新的配置文件。

什么是正确的配置,这是可能的,还是我应该使用tomcat管理器手动添加war文件?


问题答案:

该tomcat7 - Maven的插件文件说的<serverXml>

要使用的server.xml 请注意,如果使用此服务器,则必须在此文件中配置webapp路径。

我认为这意味着您必须在<Context>元素内部插入具有战争路径的<Host>元素,如下所示:

<Host appBase="webapps" autoDeploy="true" deployXML="false" name="localhost" unpackWARs="true">
    <Context docBase="../../webapp" path="/webapp" reloadable="true" />
</Host>

其中“ webapp”是我生成的战争名称。显然,appBase是相对于target/tomcat(并且“
webapps”似乎是默认值)。docBase是相对的,appBase为简单起见,我使用了build目录的相对路径。

这为我工作,如果没有该<Context>元素,我将获得白页。

如果您正在使用过滤,则可以用docBase属性代替。但是请注意从您的war文件中排除server.xml(和tomcat-users.xml)!



 类似资料:
  • 我只想运行一个Web项目,已在maven项目中配置了pom.xml.它使用maven tomcat7-maven-plugin部署Web应用程序工件,此时一切正常。 现在我想添加自己的服务器。xml和tomcat用户。tomcat配置中的xml。我读到我需要添加以下几行。 这很好。它现在正在工作,tomcat是使用上面的配置文件部署的,但问题是 我使用这个配置。 但是tomcat开始部署webap

  • 为了实现这一点,我遵循了简单的步骤。将Tomcat和Maven与eclipse集成。1.打开eclipse。新的-

  • faygo支持跨平台编译、运行,支持多Web服务、平滑关闭、平滑重启(升级)、热编译、元编程等。 另外,用户可以自定义服务关闭/重启前的回调函数,用于处理一些收尾工作。

  • tomcat支持war部署@运行时??? 当部署多个war文件时,发生tomcat permGen运行时内存不足错误,请停止tomcat并部署并重新启动该时间错误。这个错误的实际原因是什么。是否存在任何tomcat配置问题。

  • 我的ant-script和Tomcat有问题。我想创建一个ant-scipt,它使用Jenkins在我的tomcat-server上构建、编译和部署我的GWT应用程序。为此,我使用来自catalina(catalina-ant.jar)的undeploy and deploy任务。但是我得到了这个错误: 构建失败d:\jenkins\jobs\homepageTomcat\workspace\BU

  • 本文向大家介绍IDEA2020导入非maven项目并部署tomcat的方法,包括了IDEA2020导入非maven项目并部署tomcat的方法的使用技巧和注意事项,需要的朋友参考一下   公司一直使用非maven项目结构,每次svn下载后,配置是个大问题,现在开始使用idea开发工具(跟下潮流),用过后真心香啊。 这次特地记录一下。工具:idea 2020.1 第一步:我们需要更改项目的项目配置–