如何更改企业项目的上下文路径

时间:2011-01-21 12:28:47

标签: netbeans java-ee glassfish

所以我的企业项目名称TestProject包含TestProject-ejbTestProject-war,因此当我运行项目时,网址就像这样locahost:8080/TestProject-war。如何将此网址更改为localhost:8080/testproject。我使用netbean 6.9,我尝试右键单击netbean中的TestProject-war文件夹,并在Run下指定上下文路径,但仍然加载locahost:8080/TestProject-war

3 个答案:

答案 0 :(得分:12)

您需要检查EAR的META-INF目录中的application.xml文件中的Web模块的context-root元素是否已正确更改。

示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"
    id="Application_ID" version="6">

    <display-name>TestProject</display-name>

    <module>
        <web>
            <web-uri>TestProjectWeb.war</web-uri>
            <context-root>testproject</context-root>
        </web>
    </module>

    <module>
        <ejb>TestProjectEJB.jar</ejb>
    </module>

</application>

在此示例中,Web模块应位于您部署到的服务器的/ testproject下,因此在您的情况下http://localhost:8080/testproject

(如果您想部署到服务器的根目录,可以将context-root元素留空:<context-root></context-root>。)

如果您确实发现Netbeans中的操作已正确更改此文件,则可能是BalusC指出的部署问题。检查部署EAR的位置,并手动检查部署的版本是否也具有正确的值。

答案 1 :(得分:1)

正如Harry指出的那样,默认项目模板没有创建application.xml文件,所以你必须在$ENTERPRISE_APP_PATH/src/conf手工创建它(用NB 6.9.1测试)

答案 2 :(得分:1)

在弄清楚同样的事情的过程中遇到了这个问题。由于OP要求在Netbeans中执行此操作,让我通过使用Netbeans IDE具体描述如何执行此操作来添加以前的答案。

使用Netbeans 8(可能还有早期版本),您可以告诉IDE为您创建application.xml文件,如下所示。右键单击企业应用程序项目(在OP的示例中,这将是&#34; TestProject&#34;),选择&#34; New&#34;那么&#34;标准部署描述符......&#34;。这将创建一个&#34; application.xml&#34;将文件放在Netbeans项目中的适当位置。然后,您可以轻松编辑此文件,将context-root元素设置为您想要的任何内容。