Tomcat 7 maven插件tomcat7上的附加上下文:运行

时间:2012-08-30 11:58:26

标签: eclipse tomcat maven maven-tomcat-plugin

当我使用tomcat 7 maven插件在eclipse中运行我的web应用程序时,我想要将一个额外的上下文部署到tomcat。在生产环境中,使用上下文配置

将此上下文映射到tomcat目录之外的目录
 <Context path="/userimages" docBase="C:/test/userimages">
 </Context>

通过这种方式可以在

中找到
http://wwww.myhost.com/userimages/test.jpg

我如何在webapp(eclipse,tomcat7 maven插件)的开发环境中实现同样的目标? 换句话说,我希望通过

访问该文件夹的内容
http://localhost:8080/userimages

http://localhost:8080/myapp/userimages

2 个答案:

答案 0 :(得分:1)

您应该配置tomcat7-maven-plugin插件。

尝试这种方式:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0</version>
    <configuration>
        <path>your_app_context_path</path>
        <uriEncoding>utf-8</uriEncoding>
    </configuration>
</plugin>

然后,您的所有网址都应以http://wwww.myhost.com/ your_app_context_path / ...

开头

tomcat7:run目标的更多可选参数可在apache tomcat maven plugin document

找到

答案 1 :(得分:0)

我发现了一种不能完全按照我原来想要做的解决方法(使用tomcat maven插件发布另一个上下文),但它在某种程度上解决了我的问题。我在应用程序的webapp文件夹中添加了一个文件夹“userimages”,在开发时使用了这个文件夹。我通过使用pom.xml中具有以下配置的“maven-war-plugin”阻止此文件夹进入战争并因此进入生产服务器

 <build>
  ....
  <plugins>
   ....
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.2</version>
        <configuration>
            <packagingExcludes>userimages/</packagingExcludes>
        </configuration>
    </plugin>
    ....
  </plugins>
  ....
 </build>

同时选中herehere