1

我正在尝试将 tomcat7-maven-plugin:run 与自定义 server.xml 一起使用,其中包含我需要启用的领域。如文档中所述,我曾经<serverXml />指向我的文件。但是,我的应用程序不会被加载。插件文档声明我需要手动为我的应用程序配置上下文。

我该怎么做呢?我不确定要为 docBase 等放什么。

谢谢。

4

3 回答 3

2

你能检查这个示例 pom http://svn.apache.org/repos/asf/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/test/resources/deploy-war-project/pom.xml

于 2012-11-29T09:26:35.740 回答
0

如果您只需要更改领域,那么不要server.xml使用context.xml您的领域:

<Context>
  <Realm className="org.apache.catalina.realm.MemoryRealm" />
</Context>

将你的tomcat maven插件指向那个context.xml

<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat6-maven-plugin</artifactId>
  <version>2.0</version>
  ...
  <configuration>
    ...
    <contextFile>tomcat/context.xml</contextFile>
    ...
  </configuration>
</plugin>
于 2014-02-03T20:14:37.990 回答
0

当我遇到以下问题时,我已经使用从下载的 tomcat 分发中获取的参考配置了自定义 server.xml,并更新了端口号等。 嵌入式 tomcat 自定义 server.xml 配置问题 注意:它仅适用于 2.1 版但不适用于 2.2 版的 tomcat7-maven-plugin 工件

找到我的 pom.xml 和 server.xml

  <project>
  ...
  <packaging>war or pom</packaging>
  ...
  <build>
    ...
    <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>secured-sample-webapp</warName>
                    <webResources>
                        <resource>
                            <directory>src/main/webapp</directory>
                            <filtering>true</filtering>
                            <includes>
                                <include>**/*.tag</include>
                                <include>**/*.jsp</include>
                            </includes>
                        </resource>
                        <resource>
                            <directory>src/main/webapp</directory>
                            <filtering>false</filtering>
                            <excludes>
                                <exclude>**/*.tag</exclude>
                                <exclude>**/*.jsp</exclude>
                            </excludes>
                        </resource>
                    </webResources>
                    <packagingExcludes>less/**</packagingExcludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>install</id>
                        <phase>install</phase>
                        <goals>
                            <goal>sources</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.1</version>
                    <executions>
                      <execution>
                        <id>tomcat-run</id> 
                        <goals>
                          <goal>exec-war-only</goal>
                        </goals>
                        <phase>package</phase>
                        <configuration>
                          <path>/secured-sample-webapp</path>
                          <warDirectory>target/secured-sample-webapp</warDirectory>
                          <!-- optional, needed only if you want to use a preconfigured server.xml file -->
                          <serverXml>src/main/tomcatconf/server.xml</serverXml>
                          <!-- optional values which can be configurable -->
                          <attachArtifactClassifier>exec-war</attachArtifactClassifier>
                          <attachArtifactClassifierType>jar</attachArtifactClassifierType>
                          <finalName>secured-sample-webapp-exec.jar</finalName>
                          <enableNaming>true</enableNaming>
                        </configuration>
                      </execution>
                    </executions>
               </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

和 Server.xml

 <Server port="8005" shutdown="SHUTDOWN">
  <!--  <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> -->
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  ...
  <Service>
  ...
  <Engine>
  ...
  <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

             <Context docBase="../../secured-sample-webapp" path="/secured-sample-webapp" reloadable="true" />

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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>

    </Engine>
  </Service>
</Server>
于 2019-06-13T09:31:45.947 回答