有什么方法可以在tomcat中部署两个具有相同名称的war文件(相同项目)。
我有一个应用,该应用的URL为app/customer/123
,可以向我返回客户详细信息,现在我想给类似app/v1/customer/123
的版本,应向我提供客户详细信息。这通常是版本维护。
还有其他的版本维护方法,将在下面的文章中介绍
Best way to maintain api version
但是我又不得不写很多代码。我一直在寻找可以立即提供解决方案的东西(后来我可以遵循最佳实践并进行更改)
我在想是否可以通过仅更改<url-pattern>/v1/*<url-pattern>
来部署两个具有相同名称的war文件,以便客户只需在URL中添加版本即可访问这两个api(这将防止更改整个URL)
我也尝试过这个,但这没用 How to deploy external webapp in tomcat?
我有什么办法可以做到这一点?
答案 0 :(得分:0)
1)您可以在不同的上下文路径中部署不同版本的应用程序,如下所示:
apache-tomcat / conf / Catalina / localhost / app#v1.xml:
<Context docBase="c:\path\to\v1\app.war" path="/app/v1"/>
可通过http://localhost:8080/app/v1
访问apache-tomcat / conf / Catalina / localhost / app#v2.xml:
<Context docBase="c:\path\to\v2\app.war" path="/app/v2"/>
可通过http://localhost:8080/app/v2
访问2)您可以像这样在不同的上下文路径上多次部署单个war文件:
apache-tomcat / conf / Catalina / localhost / app#v1.xml:
<Context docBase="c:\path\to\app.war" path="/app/v1"/>
可通过http://localhost:8080/app/v1
访问apache-tomcat / conf / Catalina / localhost / app#v2.xml:
<Context docBase="c:\path\to\app.war" path="/app/v2"/>
可通过http://localhost:8080/app/v2
访问有关详细信息,请参见Apache Tomcat Context Configuration Docs。