2011-01-21 45 views
7

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

回答

12

您需要检查在Web模块的上下文根元素EAR的META-INF目录中的application.xml文件已被正确更改。

一个例子是这样的:

<?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>

如果你确实看到,您在Netbeans的动作已经更改正确这个文件,它可能是一个像BalusC指出的部署问题。检查EAR部署到的位置并手动检查部署的版本是否也具有正确的值。

+0

在我的META_INF中,我只看到MINIFEST.MF文件,我只是在那里添加application.xml? – 2011-01-25 05:43:05

+0

它应该已经在那里了。仔细检查你正在寻找正确的META_INF目录。一个典型的EAR有很多。确保全局搜索“application.xml”。否则,继续并添加一个。 – 2011-01-25 09:43:48

1

哈利指出默认的项目模板不创建一个application.xml文件,所以你必须通过手$ENTERPRISE_APP_PATH/src/conf(采用NB 6.9.1测试)

1

恰好碰到了在使用过程中这个问题来创建它弄清楚同样的事情。由于OP在Netbeans中询问了如何做,所以让我加入以前的答案,具体描述如何使用Netbeans IDE来做到这一点。

与NetBeans 8(也可能是与早期版本),你可以告诉IDE创建您的application.xml文件,如下所示。右键单击企业应用程序项目(在OP的示例中,这将是“TestProject”),选择“新建”,然后选择“标准部署描述符...”。这将创建一个“application.xml”文件并将其放在Netbeans项目的适当位置。然后你可以很容易地编辑这个文件来设置上下文根元素为任何你想要的。

相关问题