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

Netbeans 如何更改企业项目的上下文路径,netbeans,jakarta-ee,glassfish,Netbeans,Jakarta Ee,Glassfish,因此,我的企业项目名TestProject,其中包含testprojectejb和testprojectwar,因此当我运行该项目时,url如下所示locahost:8080/testprojectwar。如何将此url更改为localhost:8080/testproject。我使用netbean 6.9,我尝试右键单击netbean中的testprojectwar文件夹,并在Run下指定上下文路径,但是它仍然加载locahost:8080/testprojectwar您需要检查EAR的MET

因此,我的企业项目名
TestProject
,其中包含
testprojectejb
testprojectwar
,因此当我运行该项目时,url如下所示
locahost:8080/testprojectwar
。如何将此url更改为
localhost:8080/testproject
。我使用netbean 6.9,我尝试右键单击netbean中的
testprojectwar
文件夹,并在
Run
下指定上下文路径,但是它仍然加载
locahost:8080/testprojectwar

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

示例如下所示:

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

测试项目
TestProjectWeb.war
测试项目
TestProjectEJB.jar
在本例中,web模块应该在部署到的服务器的/testproject下可用,因此在您的情况下
http://localhost:8080/testproject

(如果要部署到服务器的根目录,可以将上下文根元素保留为空:


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

正如Harry指出的,默认项目模板不会创建
application.xml
文件,因此您必须在
$ENTERPRISE\u APP\u PATH/src/conf
处手动创建它(使用NB 6.9.1测试)在弄明白同样的事情的过程中遇到了这个问题。由于OP询问如何在Netbeans中实现这一点,让我通过具体描述如何使用Netbeans IDE来补充前面的回答


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

在我的META\u INF中,我只看到MINIFEST.MF文件,我是否只在那里添加application.xml?它应该已经在那里了。仔细检查您正在查找正确的META\U INF目录。典型的耳朵有很多。请对“application.xml”进行全局搜索以确保。如果你有一个maven项目,别忘了版本号会在部署过程中自动添加到模块中。因此,您需要指定
TestProjectEJB-1.0.jar
(或任何您的版本号)。@Arjan glassfish 4中的等效项是什么?我似乎找不到它,请看下面。默认情况下,Netbeans不创建application.xml,但如果您告诉它,它会创建它。OP声明他们正在使用Netbeans,这意味着您不需要手动创建application.xml。您确实需要明确地告诉Netbeans创建它。见下面的答案。