将war文件重命名以更改Web应用程序的上下文路径

11 浏览
0 Comments

将war文件重命名以更改Web应用程序的上下文路径

我正在使用maven构建一个web应用程序。我想改变生成的war文件的名称,以获得不同的上下文路径。

为了澄清误解:我不是在开发过程中更改名称,而是希望能够在不触及任何代码的情况下进行更改(例如为客户)。同时,应该可以在不同的服务器上部署这些war文件(如WildFly、Tomcat等)。

示例:

Hello.war = Hello.war -> URL: localhost:8080/Hello

stupid.war = stupid.war -> URL: localhost:8080/stupid

我如何实现这一点?这是否可能?

0
0 Comments

问题出现的原因:要更改web应用程序的上下文路径,需要重命名war文件,但是重命名war文件会导致文件内容被改变,因此需要找到一种方法来只修改上下文路径而不改变文件内容。

解决方法:可以通过将war文件的扩展名改为.zip,并将其解压缩来实现。然后,将web.xml文件拖到桌面上进行修改,根据需要更改web.xml文件中的内容。之后,将修改后的web.xml文件拖回原来的位置,替换原始文件。最后,将文件扩展名改回.war即可。

事实上,并不只有重命名war文件来改变上下文路径的方法。

代码示例:

  1. 将war文件的扩展名改为.zip,并解压缩
  2. 将web.xml文件拖到桌面上
  3. 根据需要修改web.xml文件
  4. 将修改后的web.xml文件拖回原来的位置,替换原始文件
  5. 将文件扩展名改回.war

这样,就可以通过重命名war文件来改变web应用程序的上下文路径。

0
0 Comments

对于流行的Servlet容器(JBoss、Tomcat、Jetty),WAR命名约定可以驱动上下文路径。如果没有在任何地方定义明确的上下文路径,那么WAR的名称就成为上下文路径。

问题就是将war文件重命名为不同的名称以适应客户需求。

那么问题是,如何将war文件重命名为不同的名称以满足客户需求?

假设你的war文件生成的名称是application.war。根据上面的答案,你需要创建application.war的副本,并将其重命名为a.war和b.war。每个重命名的war文件将以链接中定义的上下文根的名称命名。

是的,听起来不错!谢谢你的回答。

那么Oracle Weblogic v12c呢?它与这个特性兼容吗?

0
0 Comments

更改war文件的上下文路径,可以通过重命名war文件来实现。以下是出现这个问题的原因以及解决方法:

原因:

在构建元素中覆盖默认的finalName元素为所需的文件名(不包含扩展名),可以达到你所希望的效果。但是需要注意版本的问题。

解决方法:

在pom.xml文件中的构建元素中添加或修改finalName元素,将其设置为所需的文件名。如下所示:


    YourName

这样就可以更改生成的目标文件夹的名称,但不会更改在将工件部署到存储库时使用的名称(发布)。

0