gpt4 book ai didi

java - 如何在 weblogic 中更改企业应用程序 (.ear) 的上下文根

转载 作者:行者123 更新时间:2023-12-01 09:08:07 26 4
gpt4 key购买 nike

我们有第三方基于 Web 的企业应用程序,该应用程序部署在 weblogic 服务器上,可以使用

进行访问
http://hostname:port/myApp

但是,由于某种原因,我们想要更改此应用程序的context-root,因此它必须只能使用

进行访问
http://hostname:port/newApp

因此,为了实现这一目标,我们尝试更改 application.xml

<?xml version = '1.0' encoding = 'utf-8'?>
<application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4">
<display-name>myApp</display-name>
<module>
<web>
<web-uri>myApp.war</web-uri>
<context-root>newApp</context-root> // changed from myApp to newApp
</web>
</module>
</application>

但是,在 weblogic 服务器上部署此应用程序时,我们收到以下错误。

weblogic.management.DeploymentException: The application myApp contains a SubDeploymentMBean with a name myApp however there is no module in the application with that URI or context-root.

另一方面,如果我们保留如下所示的 context-root application.xml 文件,那么它就会成功部署,并且还能够使用这两个文件访问应用程序上下文根。

<?xml version = '1.0' encoding = 'utf-8'?>
<application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4">
<display-name>myApp</display-name>
<module>
<web>
<web-uri>myApp.war</web-uri>
<context-root>newApp</context-root> // changed from myApp to newApp
</web>
</module>
<module>
<web>
<web-uri>myApp.war</web-uri>
<context-root>myApp</context-root>
</web>
</module>
</application>

谁能帮我解决这个问题吗?如果需要更多信息,请告诉我。

==已编辑==

我已经添加了 weblogic.xml 文件,但不确定我应该在这个文件中更改什么,正如@Hououin Kyouma 在他/她的回答中指出的那样。

<?xml version = '1.0' encoding = 'US-ASCII'?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">
<session-descriptor>
<cookie-path>/myApp</cookie-path>
</session-descriptor>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>

最佳答案

您无法在 application.xml 中使用不同名称的 war 文件定义上下文根

<module>
<web>
<web-uri>myApp.war</web-uri>
<context-root>newApp</context-root> // changed from myApp to newApp
</web>
</module>

您必须将上面更改为

<module>
<web>
<web-uri>newApp.war</web-uri> // changed from myApp to newApp
<context-root>newApp</context-root>
</web>
</module>

您需要使用新名称创建 war 。您仍然需要更改新的 war 文件中的 weblogic.xml,但只要这个问题继续存在,以上就是您需要执行的操作。

关于java - 如何在 weblogic 中更改企业应用程序 (.ear) 的上下文根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41086620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com