所以我的企业项目名称TestProject
,其中包含TestProject-ejb
和TestProject-war
,所以当我运行项目时,URL就是这样的locahost:8080/TestProject-war
。如何将该URL更改为localhost:8080/testproject
。我使用的是netbean 6.9,我尝试右键单击netbean中的TestProject-war
文件夹,并在Run
下指定上下文路径,但仍会加载locahost:8080/TestProject-war
最佳答案
您需要检查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部署到的位置,并手动检查部署的版本是否也具有正确的值。