当前位置: 首页 > 知识库问答 >
问题:

运行Tomcat并使用自己的服务器部署项目。xml

屠浩
2023-03-14

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

现在我想添加自己的服务器。xml和tomcat用户。tomcat配置中的xml。我读到我需要添加以下几行。

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

这很好。它现在正在工作,tomcat是使用上面的配置文件部署的,但问题是

我使用这个配置。

<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 manager手动添加war文件?

共有3个答案

金健
2023-03-14

我想你可以试试这个配置

<project>
  ...
  <build>
    <finalName>servidor-identidades-webapp</finalName>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <version>1.1</version>
        <configuration>
          <server>myserver</server>
          <url>http://127.0.0.1:8080/manager</url>
          <path>/servidor-identidades-webapp</path>
          <warSourceDirectory>C:/Users/fulanis/workspace2/web/target/servidor-identidades-webapp.jar</warSourceDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

裁判:https://wiki.base22.com/display/btg/How创建Maven web应用并部署到Tomcat-fast

希望这有帮助。

龙焱
2023-03-14
匿名用户

我已经在服务器中添加了以下内容。xml和我的应用程序与tomcat7配合良好:run war命令:

<Host appBase="webapps" autoDeploy="true" deployXML="false"
    name="localhost" unpackWARs="true">
    <Context docBase="../../webApplicationName"
        path="/webApplicationName" reloadable="true" />
    <Valve className="org.apache.catalina.valves.AccessLogValve"
        directory="logs"
        prefix="localhost_access_log." suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

以下是我如何在pom.xml中配置插件

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>

    <configuration> 
        <path>/</path>
        <serverXml>src/main/tomcatconf/server.xml</serverXml>
        <warDirectory>target/appName</warDirectory>
        <webapps> 
            <webapp> 
                <groupId>com.abc</groupId> 
                <artifactId>appName</artifactId> 
                <version>7.0.1</version> 
                <type>war</type>    
            </webapp> 
        </webapps> 
    </configuration>

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.5.5</version>
    </dependency>
</plugin>

我已经删除了服务器。xml其他配置文件放入src/main/tomcatconf目录(插件的默认值),并具有上下文。xml插入META-INFdir并插入src/main/tomcatconf。该插件似乎正在获取上下文。xml来自其中一个目录。

希望这对你有用。

洪昊然
2023-03-14

tomcat7 maven插件文档中说

服务器xml使用说明如果你使用它,你必须在此文件中配置你的webapp路径。

我想这意味着你要插入一个

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

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

这对我来说很有用,如果没有

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

 类似资料:
  • 问题内容: 我只想运行一个已经使用pom.xml在Maven项目中配置的Web项目。它使用maven tomcat7-maven- plugin部署Web应用程序工件,并且此时一切正常。 现在,我想在tomcat配置中添加自己的server.xml和tomcat-users.xml。我读到我需要添加以下几行。 那很好。它现在可以正常工作,并且使用上面的配置文件部署了tomcat,但是问题是> We

  • 在tomcat 7.0.57中部署应用程序时,我得到了Valiate Jar文件错误。将tomcat版本更改为8是解决此问题的唯一方法?这是我的错误日志: org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(/home/webapps/myapp/WEB-INF/lib/tomcat-

  • 我正在尝试将Spring应用程序部署到运行Apache Tomcat的服务器。然而,我得到了这个错误: 严重:ContainerBase.AddChild:start:…org.apache.Catalina.LifecycleException:无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Rur

  • 本文向大家介绍vue项目部署到nginx/tomcat服务器的实现,包括了vue项目部署到nginx/tomcat服务器的实现的使用技巧和注意事项,需要的朋友参考一下 开发完的vue项目,需要部署到Nginx/Tomcat服务器上运行,作为一个前端小白,刚接触vue不久,研究了一番,于是写下这篇文章,记录下来便于今后部署。 1.router(history)模式vue项目部署到nginx 1)修改

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

  • 我想用maven部署一个小型Web应用程序。我下载并配置了tomcat,并告诉IntelliJ在Run/Debug config中使用它,如下所示。我还将其配置为构建神器“战争爆炸”。 问题是,每次我运行项目时,都会出现一个错误,即: 工件JDBCTest:war:服务器未连接。部署不可用。 这是我的带有错误日志的dropbox,pom。xml、servlet类等。 我真的需要一些建议。