Weblogic应用程序上下文根是war文件名,而不是weblogic.xml中指定的名称

时间:2013-05-17 20:44:19

标签: deployment weblogic war weblogic11g contextroot

我有一个使用Maven部署到Weblogic 10.3.6的应用程序。我已在weblogic.xml中将上下文根指定为

<context-root>/myapps</context-root>

我遇到的问题是将war文件名作为上下文根而不是我在weblogic.xml中指定的名称

如何更改上下文根而不是将war文件名作为上下文根?

weblogic.xml中

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd 
 http://xmlns.oracle.com/weblogic/weblogic-web-app 
 http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
 <context-root>/myapps</context-root>
<container-descriptor>
        <prefer-application-packages>
            <package-name>antlr.*</package-name>
            <package-name>org.hibernate.*</package-name>
            <package-name>javax.persistence.*</package-name>
        </prefer-application-packages>
    </container-descriptor>
    </weblogic-web-app>

2 个答案:

答案 0 :(得分:4)

我认为这是因为您的Maven设置/属性而发生的。 (jDeveloper也是如此,如果你没有属性集,它将覆盖你的上下文根。)

你看到过这个答案吗? Run with Netbeans (and Maven) the right context root

相应的Maven链接: http://maven.apache.org/plugins/maven-ear-plugin/examples/customizing-context-root.html

答案 1 :(得分:3)

如果您正在使用eclipse / oepe - 上下文根位于.settings / org.eclipse.wst.common.component文件中,wtp会覆盖您的文件

在这里纠正它,eclipse会尊重它

编辑: 看起来他们在2015年以正确的方式解决了这个问题

如果您使用的是maven,请将其放入pom文件

<properties>
  <m2eclipse.wtp.contextRoot>my_context_root !</m2eclipse.wtp.contextRoot>
</properties>

请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=461068