Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在旧版Java webapp中的web.xml文件之间切换_Java_Maven_Tomcat_Servlets_Web.xml - Fatal编程技术网

在旧版Java webapp中的web.xml文件之间切换

在旧版Java webapp中的web.xml文件之间切换,java,maven,tomcat,servlets,web.xml,Java,Maven,Tomcat,Servlets,Web.xml,我正在继承一个遗留的代码库,在这个代码库中,除了将文件复制到源代码树之外,没有人真正引入一种处理不同环境的明智方法。我试图在不破坏一切的情况下重新引入一些理智 Tomcat 6.x上使用Spring MVC 3.x的前端webapp的web.xml包含一组servlet,这些servlet代理不同的URL: <servlet> <servlet-name>FooProxy</servlet-name> <servlet-class>

我正在继承一个遗留的代码库,在这个代码库中,除了将文件复制到源代码树之外,没有人真正引入一种处理不同环境的明智方法。我试图在不破坏一切的情况下重新引入一些理智

Tomcat 6.x上使用Spring MVC 3.x的前端webapp的web.xml包含一组servlet,这些servlet代理不同的URL:

<servlet>
    <servlet-name>FooProxy</servlet-name>
    <servlet-class>org.mortbay.servlet.ProxyServlet$Transparent</servlet-class>
    <init-param>
        <param-name>ProxyTo</param-name>
        <param-value>http://example.com/foo/</param-value>
    </init-param>
</servlet>
也就是说:每个环境文件夹都包含src/main/webapp中通常包含的替代版本。然后,我将使用Maven配置文件插入这些文件夹,默认情况下,生产配置文件处于活动状态


我不知道的是如何配置文件夹的位置,因为Maven文档有时很糟糕。我只知道src/main/webapp是在某处定义的约定。我也不知道tomcat6插件是否会发现存在一个不同的webapp文件夹,是否有可能配置更多的文件夹,以及是否能正常工作。理想情况下,我希望在默认文件夹中保留webapp下的许多文件,这些文件在不同环境之间保持不变,并将其与环境文件夹合并。

实现您的要求的更好方法是使用maven profile

您可以拥有用于开发和生产的概要文件,它将定义此代理URL

您可以根据环境使用配置文件

进一步阅读:


我承认我实际上忘记了这些存在,因为我陷入了这个代码库的多层次混乱之中。
<servlet>
    <servlet-name>FooProxy</servlet-name>
    <servlet-class>org.mortbay.servlet.ProxyServlet$Transparent</servlet-class>
    <init-param>
        <param-name>ProxyTo</param-name>
        <param-value>http://localhost:8080/foo/</param-value>
    </init-param>
</servlet>
`--envs
   |
   |--prod
   |  |
   |  `--webapp
   |     |
   |     `--web.xml // the original ("production") configuration
   |
   `--dev
      |
      `--webapp
         |
         `--web.xml // the development configuration